Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#3

Re: Frage zu Thread.Destroy und Objekten

  Alt 8. Dez 2008, 12:17
Hi Andreas,

danke für das erklären!

Ich habe gerade mal etwas rumgesucht und finde viele Beispiele (z.B. auch im artverwandten Tutorial zu TMREWS und dem zugehörigen CodeCentral Item), wo explizit im Source steht:

Delphi-Quellcode:
destructor TWorkerThread.Destroy;
begin
  Main.ThreadDone; //Legit to call VCL, since we're back in main thread
  inherited;
end;
Das ganze von Justin Swett, inzwischen Sr. QA Engineer bei CG. So etwas verwirrt...

Also die Objekte besser im .Execute erzeugen und freigeben.

Gruß Assertor

Edit: Nachtrag, jetzt sehe ich wieder klar... Wenn das TThread Objekt per .Free freigeben wird, läuft das .Destroy im MainThread Kontext ab, bei FreeOnTerminate innerhalb des Threads. Logisch...
Frederik
  Mit Zitat antworten Zitat