Einzelnen Beitrag anzeigen

WladiD

Registriert seit: 27. Jan 2006
Ort: Celle
135 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Anwendung sauber beenden, während Thread läuft

  Alt 3. Feb 2012, 13:04
Also wenn dein Thread nicht mit FreeOnTerminate := TRUE läuft, dann reicht ein einfaches DeinThread.Free im OnDestroy des Forms aus und alles wird korrekt beendet.
Genau das möchte er doch vermeiden!
Aha, OK, hab's zu oberflächig gelesen. Aber der Anwender der Komponente muss doch etwas tun: Create und Free muss schon irgendwo im Code sein (ist ja kein TComponent-Nachkömmling). Und wenn FreeOnTerminate := FALSE ist, dann kann die oben genannte Zugriffsverletzung niemals entstehen.

Also man kann sich grundsätzlich niemals darauf verlassen, dass Sychronize erfolgreich ausgeführt wird, da man den Kontext aus dem Thread aus nicht kennen kann (und soll).
Waldemar Derr
  Mit Zitat antworten Zitat