Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: For-Schleife im Thread wird nur einmal abgearbeitet

  Alt 6. Jun 2014, 17:29
Da du im Execute keinerlei Exceptions verarbeitest, solltest du das dringend machen.
Try-Except drumrum und die Exception anzeigen.

Tipp: TThread hat ein OnTerminate-Ereignis, welches du dringend mal implementieren solltest, da du Ersteres ja nicht machst.
Und da drin dann einfach
Delphi-Quellcode:
if Assigned(TThread(Sender).FatalException) then
  ShowException(Exception(TThread(Sender).FatalException), nil);
Und nicht vergessen, dieser ShowException-Aufruf muß natürlich mit der VCL synchronisiert werden.

Ex gibt in der Unit System zwar ein End-Thread-Event, aber wenn Dieses ausgeführt wird, dann kann die Thread-Instanz schon weg sein (FreeOnTerminate) und selbst wenn noch nicht, dann kommt man dort sowieso nicht an den Instanzzeiger.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 6. Jun 2014 um 17:32 Uhr)
  Mit Zitat antworten Zitat