Einzelnen Beitrag anzeigen

ximexehey

Registriert seit: 2. Jan 2019
3 Beiträge
 
#1

Inkompatible Typen THTTPClient und Pointer

  Alt 2. Jan 2019, 13:18
Hallo,

nachdem ich von Delphi XE6 auf 10.3 upgedated habe gibt es beim einfachen Zuweisen der Events zur Laufzeit Fehler, ohne das was am Code geändert wurde.

HTTPRIO1.HTTPWebNode.OnBeforePost:=HTTPRIO1HTTPWebNode1BeforePost;
Code:
Fehler: E2010 Inkompatible Typen: 'THTTPClient' und 'Pointer'.
Das hatte ich nicht in eine Klasse gepackt. Deswegen ein Test:

Delphi-Quellcode:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  SOAPHTTPClient, SOAPHTTPTrans;

type
  TSoapRio = class(THTTPRIO)
  public
    procedure HTTPWebNodeBeforePost(const HTTPReqResp: THTTPReqResp;
      Data: Pointer);
  end;


type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  HTTPRIO1 : TSoapRio;
begin
  HTTPRIO1:=TSoapRio.Create(self);
  HTTPRIO1.HTTPWebNode.OnBeforePost:=HTTPRIO1.HTTPWebNodeBeforePost; // <-- Fehler
  // ...
end;

procedure TSoapRio.HTTPWebNodeBeforePost(const HTTPReqResp: THTTPReqResp;
  Data: Pointer);
begin
  // ...
end;
Es bleibt jedoch beim Fehler mit Delphi 10.3 RIO. Kann das jemand mit der Version bestätigen?

Wie macht man das dann richtig?

Geändert von ximexehey ( 3. Jan 2019 um 08:53 Uhr)
  Mit Zitat antworten Zitat