Muss bei überschriebenen Terminate das inherited dann raus? Weil sonst gibt es ja wieder die Probleme die du erwähntest.
Delphi-Quellcode:
public
procedure Terminate; // nicht virtuell
end;
procedure TTestThread.Terminate;
begin
inherited;
BreakSleep := True;
end;
Edit
klappt bis jetzt wunderbar. Das Problem im Großen und Ganzen war tatsächlich FreeOnTerminate.