Entwickler-Ecke

Internet / Netzwerk - Bei IndyTCPServer eine Synchronisierte Procedure aufrufen


alleinherrscher - Mo 19.06.06 22:04
Titel: Bei IndyTCPServer eine Synchronisierte Procedure aufrufen
In der Indy 7 oder 8 Version wurden bei dem TIdTCPServer.OnExecute ereignis ein TThread als Parameter übergeben.

Damit konnte man synchronisiert zu dem Main VCL Thread eine beliebige Prozedur starten, ohne dass es Fehler gab, und zwar mit:

AThread.synchronize(Procedure)

In Indy10 gibt es aber TidThread nicht mehr, sondern nur noch TidContext.

Jetzt meine Frage:
Wie kann ich also in Indy10 beim OnExecute vom Server eine Procedur synchronisieren?

Liebe Grüße an alle,

Euer Alleinherrscher


alleinherrscher - Mo 19.06.06 23:48

Okay, ich hab hier das herausgefunden:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
uses
  IdSchedulerOfThread;

[...]

TIdYarnOfThread(AContext.Yarn).Thread.Synchronize(Procedure of Object);


Mein Problem jetzt nur noch: Was heißt hier Procedure of Object...wie kann ich hier auch eine Procedure einer Klasse übergeben? ->

Es scheint, als können keine Prozeduren mit Parametern aufgerufen werden...warum nicht?

Wie kann man das umgehen...denn ich muss unbedingt Parameter "mitschicken"