AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inkompatible Typen THTTPClient und Pointer

Offene Frage von "ximexehey"
Ein Thema von ximexehey · begonnen am 2. Jan 2019 · letzter Beitrag vom 4. Jan 2019
Antwort Antwort
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
TiGü

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

AW: Inkompatible Typen THTTPClient und Pointer

  Alt 3. Jan 2019, 09:28
In Delphi Tokyo - also die Version davor - kompiliert dein Beispiel. Prüfe doch mal, ob sich was an der Definition von TBeforePostEvent in Soap.SOAPHTTPTrans geändert hat.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Inkompatible Typen THTTPClient und Pointer

  Alt 3. Jan 2019, 09:35
ein onBeforePost gibt es für THttpRio in 10.3 nicht.
nicht richtig geschaut.

Grüße
Klaus
Miniaturansicht angehängter Grafiken
httprio.png  
Klaus

Geändert von Klaus01 ( 3. Jan 2019 um 09:51 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: Inkompatible Typen THTTPClient und Pointer

  Alt 3. Jan 2019, 09:51
ein onBeforePost gibt es für THttpRio in 10.3 nicht.
Es geht ja auch um http://docwiki.embarcadero.com/Libra...p.OnBeforePost
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Inkompatible Typen THTTPClient und Pointer

  Alt 3. Jan 2019, 09:57
ein onBeforePost gibt es für THttpRio in 10.3 nicht.
Es geht ja auch um http://docwiki.embarcadero.com/Libra...p.OnBeforePost
dann ist das so declariert:
TBeforePostEvent = procedure(const HTTPReqResp: THTTPReqResp; Client: THTTPClient) of object; ---

in XE7 so:
TBeforePostEvent = procedure(const HTTPReqResp: THTTPReqResp; Data: Pointer) of object; Grüße
Klaus
Klaus

Geändert von Klaus01 ( 3. Jan 2019 um 10:03 Uhr)
  Mit Zitat antworten Zitat
ximexehey

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

AW: Inkompatible Typen THTTPClient und Pointer

  Alt 3. Jan 2019, 10:28
Das war es auch schon. Es stellt sich gerade raus, dass sich mehr geändert hat als erwartet.

Soap.Rio
Winapi.WinINet

schon im ersten Projekt was ich geöffnet habe. Dann muss ich da wohl richtig ran.

Danke euch allen.
  Mit Zitat antworten Zitat
ximexehey

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

AW: Inkompatible Typen THTTPClient und Pointer

  Alt 4. Jan 2019, 07:40
Vielleicht gehe ich doch noch mal auf Delphi Tokyo zurück zum Vergleichen...

Die Definitionsänderung von oben war dann kein Problem mehr. Ich habe aber Fehlermeldungen zu Funktionen in der SOAP WSDL die nicht gefunden werden können, obwohl man direkt hinspringen kann und ich die WSDL neu importiert hatte. Auffällig ist dabei, dass in der Fehlermeldung dann auch noch der letzte Buchstabe des Funktionsnamens fehlt.

Mit Tokyo geht alles inklusive der WSDL Funktionen. Ich hatte gar nichts gelesen, dass in Rio was an SOAP gemacht wurde.

Geändert von ximexehey ( 4. Jan 2019 um 16:16 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz