Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Frage zu Thread.Destroy und Objekten

  Alt 8. Dez 2008, 12:12
Zitat von Assertor:
Wird Threadn.Destroy eines TThread wirklich im Bereich des VCL MainThreads abgewickelt wird? Wenn ich mir im .Destory per GetCurrentThreadID die ID hole, ist diese nicht die des VCL MainThreads.
TThread.Destroy wird in dem Thread ausgeführt der es aufruft. Und wenn du FreeOnTerminate=True gesetzt hast, dann wird das noch im TThread.ThreadId Thread ausgeführt. Wenn du den Code zwingend im Hauptthread ausführen musst, kannst du OnTerminate ein Event zuweisen das die Arbeit verrichtet. Das Event ist deswegen notwendig, weil CallOnTerminate nicht virtuell ist und die Methode DoTerminate im Thread ausgeführt wird.
  Mit Zitat antworten Zitat