- Stelle FreeOnTerminate
des Threads auf true. Dadurch gibt er sich von selbst frei, wenn die Execute
-Methode verlassen wird.
- Wenn du den Thread erneut brauchst, erstelle ihn einfach neu.
Threads sind nur so lange "am Leben", wie sie in der Execute
-Methode sind - darum ist diese meist auch eine Endlossschleife. Will man nicht ständig Threads löschen und neu erstellen, muß man verhindern, das Execute verlassen wird. Dafür gibts etliche Möglichkeiten, von denen eine zu deinem Problem paßt: TEvent
.
habe vergessen zu sagen das ich mit
Delphi-Quellcode:
while not terminated do
begin
EventWait.WaitFor(2000);
end;
im Thread arbeite...
das ist ja auch genau das problem, ich möchte diese schleife beenden und dann neu starten