Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#8

AW: Exceptions gehen zwischen den Threads verloren?

  Alt 21. Dez 2015, 19:31
Synchronize und Co. kopieren die Exception und lösen sie im aufrufenden Thread neu aus.

TThread.Execute tut das nicht. Dort ist man selbst verplichtet in OnTerminate, DoTerminate oder nach Beendigung des Threads das Property FatalException zu prüfen.
Hatte das mal bei Borland/Codegear reportet, aber sie hatten wohl keine Lust diese Funktionialität direkt einzubauen (abschaltbar), so daß es keiner vergessen kann.

Kann sein, daß es "früher", in uralten Delphis, nur innerhalb OnTerminate/DoTerminate auslesbar/verwendbar war und danach die Exception sofort freigegeben wurde.
In neueren Delphis wird die Exception via Delphi-Referenz durchsuchenAcquireExceptionObject abgetrennt und bis zum Free ausgehoben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Dez 2015 um 19:38 Uhr)
  Mit Zitat antworten Zitat