Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: IdFTP.Connect springt raus

  Alt 28. Apr 2010, 08:08
Sang und Klanglos geht da nix unter.
Exceptions, welche in einem TThread-Ableger nicht abgefangen werden, werden gespeichert und können abgefragt werden.

PS: Wann wird eigentlich dein Thread-Objekt freigegeben?
FreeOnTerminate wird ja nicht gesetzt und selber freigeben tust du das t anscheinend auch nicht,
was demnach natürlich in einem Speicherleck enden muß.

Nja, wie dem auch sei,
* entweder du schreibst folgenden Code in eine Ereignisprozedur (mit Sender statt t) und registrierst diese bei t.OnTerminate und stellst natürlich t.FreeOnTerminate noch auf True
* oder das Selbe, nur daß DoTerminate überschrieben wird, statt OnTerminate zu nutzen
* oder du gibst irgendwo im Hauptprogramm das t frei, nachdem der Thread mit seiner Arbeit beendet hat, und führst ebenfalls vorher nachfolgenden Code aus.

Delphi-Quellcode:
if Assigned(t.FatalException) then
  ShowException(t.FatalException, nil);

// oder

if Assigned(t.FatalException) then
  ShowMessage(Exception(t.FatalException).Message);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat