Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: TRESTRequest ExecuteAsync und FMX ShowMessage in OnAfterExecute

  Alt 6. Aug 2018, 08:24
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;

Geändert von TiGü ( 6. Aug 2018 um 08:28 Uhr)
  Mit Zitat antworten Zitat