Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Thread

  Alt 1. Dez 2016, 15:24
Zitat:
Wenn ich das mit MyThread.FreeOnTerminate := true machen lasse
Dann ist FreeOnTerminate nichts für diesen Fall. Wenn ein Thread FreeOnTerminate hast solltest du nach dem Starten die Referenz nie wieder anfassen. Ab dann ist nicht mehr definiert ob die Thread-Instanz bereits freigegeben worden ist oder nicht.


Zitat:
Aber wie soll ohne FreeOnTerminate freigegeben werden?
Du hast mit deinem EvTerminate doch schon genau die richtige Stelle dafür! Entferne es nach wie vor aus deiner Liste und danach gibst du den TThread frei.

Zu Problem 2 würde ich deinem Thread die Logik dafür nicht mitgeben. Das EvTerminate ist doch auch hier eigentlich die perfekte Gelegenheit dafür!
  Mit Zitat antworten Zitat