![]() |
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:
bei der letzten zeile bekomme ich jedoch den fehler "Inkompatible typen: 'Methodenzeiger und reguläre Prozedur'".
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; 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 |
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. |
Re: Konsolenprogramm: EventHandler definieren
ja, laut OH ist das event so definiert:
Delphi-Quellcode:
genauso
type TSocketNotifyEvent = procedure (Sender: TObject; Socket: TCustomWinSocket) of object;
//type TServerSocket... property OnClientConnect: TSocketNotifyEvent; aeno |
Re: Konsolenprogramm: EventHandler definieren
der event-handler muss mitglied einer klasse sein, wie's geht steht hier:
![]() |
Re: Konsolenprogramm: EventHandler definieren
Zitat:
aeno |
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