Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Event erzeugen (https://www.delphipraxis.net/29655-event-erzeugen.html)

tn249 12. Sep 2004 17:21


Event erzeugen
 
Nachdem ich ein TNMHTTP-Objekt zur Runtime initialisiert und mit Create erstellt habe, will ich auf einen event des vorhererstellten TNMHTTP-Objekt reagieren, wie kann ich das anstellen?

MfG
tn249

Meflin 12. Sep 2004 17:28

Re: Event erzeugen
 
deklariere eine procedure on mache dann dass:
tnmhttp.OnEvent := NameDerPRocedure
oder
@tmnhttp.OnEvent := @NameDerProcedure

tn249 12. Sep 2004 17:31

Re: Event erzeugen
 
danke schonmal und wie komme ich bei OnSuccess an die Variable Cmd: CmdType?

MfG
tn249

Meflin 12. Sep 2004 17:35

Re: Event erzeugen
 
dann musst du bei deiner procedure eben dass deklarieren
Delphi-Quellcode:
procedure myOnSuccess(var Cmd: cmdType);
begin
...
end;
und dann eben wie o.g.

tn249 12. Sep 2004 17:49

Re: Event erzeugen
 
ich glaub ich stell mich grad saudumm an - bitte um konkretes beispiel;


das ist die procedure die aufgerufen werden soll;
Delphi-Quellcode:
procedure NMHTTPloginSuccess(Cmd: CmdType);
begin
  case Cmd of
    CmdGET:
      begin
      Log('NMHTTPlogin.GET successfull completed');
      ReadyState := 'r';
      end;
    end;
end;
und das mein versuch die procedure auf das onsuccess event zuzuweisen
Delphi-Quellcode:
NMHTTPlogin.OnSuccess := NMHTTPloginSuccess(Cmd: CmdType);
das hier spuckt der compiler aus;

[Error] Unit_Login.pas(76): Undeclared identifier: 'Cmd'

Meflin 12. Sep 2004 17:50

Re: Event erzeugen
 
beim zuweisen musst du die variablen hinten dran weglassen!
Code:
NMHTTPlogin.OnSuccess := NMHTTPloginSuccess;

tn249 12. Sep 2004 17:51

Re: Event erzeugen
 
ok jetzt hab ichs;

man muss die parameterliste weglassen und @ verwenden

Delphi-Quellcode:
@NMHTTPlogin.OnSuccess := @NMHTTPloginSuccess;

Edit: ohne die @ gings bei mir nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz