Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 2.506 pregleda

Najnovija ↓

IdIRC i properties 17.08.2005. u 03:39 · pre 258 meseci #1
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 ?
Re: IdIRC i properties 17.08.2005. u 08:22 · pre 258 meseci #2
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;
Potpis
Play Store
Re: IdIRC i properties 17.08.2005. u 19:48 · pre 258 meseci #3
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'"....
Re: IdIRC i properties 17.08.2005. u 20:06 · pre 258 meseci #4
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%
Potpis
Play Store
Re: IdIRC i properties 17.08.2005. u 22:12 · pre 258 meseci #6
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.
Re: IdIRC i properties 18.08.2005. u 19:02 · pre 258 meseci #7
Ne znam sta da ti kazem... meni radi ok.
Probaj da izmedju repeat i until stavis Application.ProcessMessages... mozda to pomogne.
Potpis
Play Store
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme