Delphi-Quellcode:
unit uMyList;
interface
function MyList: TStringList;
implementation
uses
System.Threading;
var
InternalFuture: IFuture<TStringList>;
InternalList: TStringList;
function MyList: TStringList;
begin
Result := InternalFuture.Value;
end;
initialization
InternalList := TStringList.Create;
InternalFuture := TTask.Future<TStringList>(
function: TStringList
begin
Result := InternalList;
for var I := 1
to 10000000
do
Result.Add(I.ToString);
end);
finalization
InternalList.Free;
InternalList :=
nil;
end;
Der Zugriff im Form auf MyList wartet bei Bedarf auf die Fertigstellung.