Autor Beitrag
tuxinetux
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 08.12.16 12:38 
Hallo zusammen,

gibt es schon in Delphi5 die CheckSynchronize-Methode?
Ich möchte in meiner Konsolenanwendung (eigentlich DLL-Anwendung) im MainThread-Kontext Methoden von anderen Threads aufrufen lassen via Synchronize.
Dafür brauche ich regelmäßig im MainThread einen CheckSynchronize-Aufruf.
Wenn ich Classes einbinde, findet der Compiler nicht die CheckSynchronize Methode.
Ist sie überhaupt schon in Delphi5 vorhanden? Wenn ja, wo?

Vielen Dank im voraus!
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 08.12.16 18:51 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: tuxinetux
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 09.12.16 10:33 
Irgendwodurch müssen die Synchronize Aufrufe ja getriggert werden. Du kannst ja einfach in Delphi 5 in einer normalen VCL-Anwendung Synchronize verwenden, darin einen Haltepunkt setzen und schauen wie der Stacktrace aussieht. Irgendetwas wie CheckSynchronize muss es da ja geben.

Für diesen Beitrag haben gedankt: tuxinetux
tuxinetux Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 13.12.16 16:10 
in der Library 'Classes' ist die Methode in Delphi5 leider nicht drin, sonst hätte ich erst gar nicht gefragt (leider erst in späteren Versionen)...

CheckSynchronize selbst nachzubauen, halte ich für mich als eher Delphi-fremden zu umständlich...
daher habe ich das Design meiner DLL verändert, so dass das Userprogramm nun eben mehr zyklisch machen muss (ist zwar unschön aber für mich vom Aufwand her leichter)...

DANKE für Eure Antworten!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 13.12.16 19:26 
Ein Blick in den Quelltext von Delphi 5 (mit dem Haltepunkt an beschriebener Stelle) zeigt, dass es das dort so in der Tat nicht gibt. Dort wird innerhalb von Synchronize einfach eine Message CM_EXECPROC geschickt mit dem Threadobjekt als Parameter. Daraufhin wird dann die synchronisierte Methode ausgeführt.

Für diesen Beitrag haben gedankt: tuxinetux