Grundsätzlich geht es dabei wohl darum wie man das Ergebnis aus dem Thread kriegt. Ganz einfach wäre folgendes:
Delphi-Quellcode:
procedure TMainForm.GetTHTTPClient ( Const xURL : String );
begin
TThread.CreateAnonymousThread(
procedure
var
HttpClient: THttpClient;
HttpResponse: IHttpResponse;
LTmp: String;
begin
Ltmp := '';
HttpClient := THTTPClient.Create;
try
HttpResponse := HttpClient.Get( xURL );
Ltmp := HttpResponse.ContentAsString();
finally
HttpClient.Free;
TThread.Synchronize(TThread.Current,
Procedure
begin
DoneWithIt(Ltmp);
end
);
end;
end
).Start;
end;
procedure TMainForm.DoneWithIt(const Data: String);
begin
label1.Caption := 'DoneWithIt: '+Data;
end;
Natürlich muss es dann noch einen entsprechenden Label geben, oder man macht mit Data was immer man möchte...