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?