Schau dir mal die Parameterliste und die im Quelltext integrierte Doku von ExecuteAsync in der Klassendefinition an, dann geht dir ein Licht auf.
Delphi-Quellcode:
uses
REST.Client,
REST.Types,
IPPeerClient,
System.Json;
procedure TForm3.Button1Click(Sender: TObject);
var
RESTClient: TRESTClient;
RESTRequest: TRESTRequest;
RESTResponse: TRESTResponse;
MyCompletionHandler: TCompletionHandler;
begin
RESTClient := TRESTClient.Create(nil);
RESTRequest := TRESTRequest.Create(nil);
RESTResponse := TRESTResponse.Create(nil);
try
RESTClient.BaseURL := 'http://www.codigopostal.gov.co';
RESTClient.RaiseExceptionOn500 := False;
RESTRequest.Client := RESTClient;
RESTRequest.AddParameter('municipio', 'Santa Marta');
RESTRequest.AddParameter('departamento', 'Magdalena');
RESTRequest.AddParameter('direccion', 'Cra. 16 1c-20');
RESTRequest.Resource := 'glow/param';
RESTRequest.Response := RESTResponse;
MyCompletionHandler := procedure
begin
if RESTResponse.StatusCode = 200 then
ShowMessage(RESTResponse.Content)
else
ShowMessage('Ist alles oll! Ich mach Hitzefrei!');
end;
// der zweite Parameter "ASynchronized" ist per Default auch schon True
RESTRequest.ExecuteAsync(MyCompletionHandler, True);
finally
// Um die Speicherlecks kümmern wir uns in diesem Beispiel-Quelltext mal nicht.
// RESTClient.Free;
// RESTRequest.Free;
// RESTResponse.Free;
end;
end;