Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

IdIRC i properties

[es] :: Pascal / Delphi / Kylix :: IdIRC i properties

[ Pregleda: 1827 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon IdIRC i properties17.08.2005. u 02:39 - pre 227 meseci
Pretpostavimo da pravim konzolnu aplikaciju za IRC chatovanje i za to koristim Indy komponentu IdIRC. Posto, jeli, ne postoji forma da "nalepim" komponentu, moram da u uses listu dodam IdIRC unit i da sve parametre setujem iz koda. OK, sve to podesim i konektujem se na server.
I sad, recimo da zelim da kad dobijem voice na serveru (+v), program posalje odgovor 'Hvala za voice'. Medjutim, kad kreiram jedan TIdIRC objekat, kako da mu dodelim da poziva recimo funkciju VoiceGive svaki put na OnVoice event ?
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: IdIRC i properties17.08.2005. u 07:22 - pre 227 meseci
Napravis proceduru VoiceGive sa parametrima koje treba da ima OnVoice event (pogledaj help, tamo ti pise) i onda u kodu napisi
Code:
IRCClient.OnVoice := VoiceGive;

 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: IdIRC i properties17.08.2005. u 18:48 - pre 227 meseci
Da to radi ne bih ovde postavio pitanje ;)

Code:

procedure aa(parametri);
begin
//
end;

begin
IRC.OnVoice := aa;
end.


Znaci procedura aa je identicna po parametrima kao i OnVoice. Kad pokusam da kompajliram delphi javi : "Incompatible types: 'method pointer and regular procedure'"....
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: IdIRC i properties17.08.2005. u 19:06 - pre 227 meseci
Procedura aa mora da se nalazi u nekoj klasi. Dakle... ne moze
Code:
procedure aa(parametri);
begin
//
end;

begin
IRC.OnVoice := aa;
end.

nego mora
Code:
type TForm1 = class(TForm)
  .
  .
  .
  procedure aa(parametri);
end;

procedure TForm1.aa(parametri);
begin
//
end;

begin
IRC.OnVoice := Form1.aa;
end.

Probao sam i radi 100%
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: IdIRC i properties17.08.2005. u 20:42 - pre 227 meseci
Hvala
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: IdIRC i properties17.08.2005. u 21:12 - pre 227 meseci
Ehhh opet nece :(

Code:

uses
  Windows, IdIRC;

type
  TB = class
         IRC : TIdIRC;
         procedure OnVoice(Sender: TObject; AUser: TIdIRCUser; AChannel: TIdIRCChannel; ATarget: TIdIRCUser);
         procedure Connect;
       end;

var
  b   : TB;

procedure TB.OnVoice(Sender: TObject; AUser: TIdIRCUser; AChannel: TIdIRCChannel; ATarget: TIdIRCUser);
begin
  MessageBox(0, 'asdasd', nil, mb_OK);
end;

procedure TB.Connect;
begin
  IRC := TIdIRC.Create(nil);
  IRC.Host := 'irc.balcan.net';
  IRC.Port := 6667;
  IRC.Nick := 'test_nick';
  IRC.Username := '34345';
  IRC.RealName := 'asdasdsad';
  IRC.Connect;
  IRC.Join('#testkanal', '');
  IRC.OnVoice := OnVoice;
end;

begin
  b := TB.Create;

  b.Connect;

  repeat
  until 1 <> 1;
end.


Evo, to je kod koji sam sklepao na brzinu. Sve se nalazi u klasi i opet nece... Dobro se konektuje na kanal i kad programu dam voice, OnVoice procedura se ne poziva uopste. Gde gresim ? Ako hoces mogu da ti posaljem ove Indy komponente neophodne za ovaj kod, pa testiraj. Hvala jos jednom.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: IdIRC i properties18.08.2005. u 18:02 - pre 227 meseci
Ne znam sta da ti kazem... meni radi ok.
Probaj da izmedju repeat i until stavis Application.ProcessMessages... mozda to pomogne.
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: IdIRC i properties20.08.2005. u 00:23 - pre 227 meseci
Jej, radi :) Hvala care ;>
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: IdIRC i properties

[ Pregleda: 1827 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.