Thema: Delphi TThread - OnTerminate

Einzelnen Beitrag anzeigen

Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#11

Re: TThread - OnTerminate

  Alt 24. Sep 2003, 09:05
Arbeite mit einem Event..!

Im Thread wartest du einfach per WaitForSingleObject auf das Event - mit einem TimeOut von 60Sek. Der Rückgabewert von WaitForSingleObject gibt an, ob das Objekt signalisiert wurde (WAIT_OBJECT_0) oder ob die Zeit abgelaufen ist (WAIT_TIMEOUT).

Wenn dein Programm nun beendet werden muss, signalisierst du einfach das Event, dadurch weckt WaitForSingleObject deinen Thread auf und dieser weiß, dass er sich beenden muss.

Edit: nach dem signalisieren kannst du mit TThread.WaitFor noch warten bis der Thread wirklich vollständig abgearbeitet ist...
Manuel Pöter
  Mit Zitat antworten Zitat