Schau mal, da ist ein Beispiel:
Code:
fTask := TTask.Run(procedure()
var
i:integer;
begin
for i:=1 to 1000 do begin
if TTask.CurrentTask.Status = TTaskStatus.Canceled then
break;
Sleep(10); // damit zeit vergeht ...
TThread.Synchronize(nil, procedure()
begin
Button1.Text := DateTimeToStr(Now);
end);
end;
TThread.Synchronize(nil, procedure()
begin
Button1.Enabled := true;
Button1.Text := 'Start Task'; // beschriftung wiederherstellen
end);
end);
Hilft das?