Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

AW: Thread - warten bis alle Berechnungen fertig

  Alt 29. Aug 2011, 17:20
Die beiden Threads müssten von einer weiteren Klasse verwaltet werden.
Diese Klasse merkt sich intern die Threadobjekte in einer Liste.
Das Event OnTerminate eines jeden Threads wird auf einen Eventhandler der Verwaltungsklasse gerichtet.
Somit bekommt die Verwaltungsklasse mit, wieviele Threads noch laufen und wann der letzte beendigt wurde.

Jetzt wird es ein kleines bisschen unangenehm:
Da das Event OnTerminate im Kontext eines Threads läuft darf man nicht einfach auf die VCL direkt zugreifen.
Daher schickt die Verwaltungsklasse eine userdefined Windows-Message an das übergeordnete Formular.
Die Verwaltungsklasse benötigt dazu das Fensterhandle.
In dem Formular wird dann auf die Windows-Message regiert und getan was getan werden muss.
Andreas
  Mit Zitat antworten Zitat