Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Konsolenprogramm: EventHandler definieren (https://www.delphipraxis.net/46169-konsolenprogramm-eventhandler-definieren.html)

Aenogym 19. Mai 2005 22:06


Konsolenprogramm: EventHandler definieren
 
hi ihr,

ich schreibe gerade ein konsolenprogramm und erstelle dynamisch einen TServerSocket.
jetzt möchte ich gern auf das event OnClientConnect reagieren. mein code dazu:

Delphi-Quellcode:
unit... uses... type......;

var TCPServer: TServerSocket;

procedure TCPServer_OnClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  writeln('clientconnect ');
end;

begin
  TCPServer := TServerSocket.Create(nil);
  TCPServer.OnClientConnect := TCPServer_OnClientConnect;
end;
bei der letzten zeile bekomme ich jedoch den fehler "Inkompatible typen: 'Methodenzeiger und reguläre Prozedur'".

die OH verrät mir auch nur, wie ich events per objektInspektor definiere...
was muss ich also tun, damit es funktioniert?

danke wie imemr im voraus ;)
aeno

DGL-luke 19. Mai 2005 22:19

Re: Konsolenprogramm: EventHandler definieren
 
ist es denn richtig deklariert? schau mal, wies in ner vcl-form-app wäre.

und übernimms dann einfach entsprechend. es sei denn, das ist deine vorgehensweise. bei mir hats aber so wies bei dir steht meist gefunzt.

Aenogym 19. Mai 2005 22:21

Re: Konsolenprogramm: EventHandler definieren
 
ja, laut OH ist das event so definiert:

Delphi-Quellcode:
type TSocketNotifyEvent = procedure (Sender: TObject; Socket: TCustomWinSocket) of object;

//type TServerSocket...
property OnClientConnect: TSocketNotifyEvent;
genauso

aeno

retnyg 19. Mai 2005 22:22

Re: Konsolenprogramm: EventHandler definieren
 
der event-handler muss mitglied einer klasse sein, wie's geht steht hier: http://www.delphi-forum.de/viewtopic...ighlight=dummy

Aenogym 19. Mai 2005 22:30

Re: Konsolenprogramm: EventHandler definieren
 
Zitat:

Zitat von retnyg
der event-handler muss mitglied einer klasse sein, wie's geht steht hier: http://www.delphi-forum.de/viewtopic...ighlight=dummy

dankeschön! dann werd' ich jetzt mal eine dummyclass für meine events erstellen :coder:
aeno

Muetze1 19. Mai 2005 22:49

Re: Konsolenprogramm: EventHandler definieren
 
Moin!

Und um nicht die Dummy Class instanzieren zu müssen (was in dem Link anscheinend überhaupt nicht gemacht wird...), einfach Class Procedure nutzen...

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr.

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