Einzelnen Beitrag anzeigen

nalii

Registriert seit: 2. Dez 2005
16 Beiträge
 
#4

Re: Ein Programm mit einem Thread beenden

  Alt 23. Jun 2007, 18:33
mh... ok, war ein bisschen zu frueh.

Wenn ich MyThread.Waitfor benutze, bekomme ich eine Exception.

"Das Handle ist ungültig (6)."

Ich habe ein bisschen gegoogelt und heraus gefunden, dass das wohl ein Fehler seitens Borland ist. Meinen Thread starte ich folgendermaßen:

Delphi-Quellcode:
     
      MyThread := MyThread .Create(TRUE);
      MyThread.FreeOnTerminate := TRUE;
      MyThread.Resume;
      MyThread.WaitFor;
Wird FreeOnTerminate auf FALSE gesetzt, bleibt das Handle erhalten. Aber FreeOnTerminate auf FALSE zu setzen, ist doch irgendwie suboptimal... Wie kann ich denn dann sichergehen, dass der Speicher trotzdem freigegeben wird? Mh... naja, wenn ich gleich nach dem Thread.Execute die Applikation schließe, wird dann der Speicher des Threads auch freigegeben?
  Mit Zitat antworten Zitat