Do kannst die Task-Procedure auch als Function-Result zurückgeben:
Delphi-Quellcode:
procedure TForm432.Button1Click(Sender: TObject);
begin
TTask.Create(MakeTaskProc(3000, 'Hallo')).Start;
end;
function TForm432.MakeTaskProc(ADelay: Integer; const AMsg: string): TProc;
begin
Result :=
procedure
begin
sleep (ADelay);
ShowMessage(AMsg);
end;
end;
BTW, das
ShowMessage sollte besser mit dem
VCL-Thread synchronisiert werden, aber das ist ja auch nur ein sinnloses Beispiel.