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?