Zitat:
Ich create einen Thread mit FreeOnTerminate=False, der tut irgendwas, wird fertig und wird dann wieder gefreed.
Hast Du schon darüber nachgedacht stattdessen einfach einen TTask zu nehmen?
Code:
paramdata := TEtwas.Create; // Parameter für den Task. Werden am Ende gelöscht.
TTask.Run( procedure
var local : Integer;
begin
try
// To was ...
// Uebergib das Ergebnis an das Programm
TThread.Synchronize( nil,
procedure
begin
Memo1.Text := 'Bin Fertig';
end
);
finally
paramdata.Free;
end;
end
);