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.