AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi PayPal Soap Anbindung
Thema durchsuchen
Ansicht
Themen-Optionen

PayPal Soap Anbindung

Ein Thema von Harry29 · begonnen am 2. Sep 2015 · letzter Beitrag vom 20. Jun 2018
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von makulik
makulik

Registriert seit: 13. Jun 2018
9 Beiträge
 
#21

AW: PayPal Soap Anbindung

  Alt 20. Jun 2018, 03:55
Du kannst es - zumindest für Tokyo - wie folgt lösen.
Der entscheidende Punkt ist das Freigeben der betreffenden Klasse in der überschriebenen ConvertSoapToNativeData-Methode.

Delphi-Quellcode:
procedure ConvertSoapToNativeData(DataP: Pointer; TypeInfo: PTypeInfo;
      RootNode, Node: IXMLNode; Translate: Boolean); override;
                                                  // ^^^^^^^^
D.h. in Tokyo sind diese Funktionen von TOPToSoapDomConvert jetzt virtuell und überladbar?

Ich hatte nicht so genau darauf geachtet, und wollte nur unseren CI Server so schnell wie möglich wieder auf green state bringen (für unseren Tokyo Branch).
Also habe ich nur den Patch für die aktuelle Version der Unit in Tokyo angepasst (5 min).

Nichtsdestotrotz finde ich das Mem-Leak im Original Code schlicht inakzeptabel, und in der Unit sind weitere fehlerhafte Stellen dieser Art zu finden.
Ich kann nur annehmen, dass das nur mit der ARC Compiler Version getestet wurde (auto ref-counting für TObject Sub-Klassen), in der wohlwollenden Annahme, das die Embarcadero Devs wirklich Unit Tests für das "Zeuch" geschrieben haben.

Ich werde Deinen Vorschlag für einen Workaround ausprobieren (vielen Dank für den Beispielcode!!). Wenn Embarcadero keinen Fix bis Okt. 2018 (unser Termin für die Umstellung des Production Codes von Seattle auf Tokyo) liefert, ist das wahrscheinlich die bessere Lösung, als die originale RTL Unit zu patchen.

Es ist schon traurig, dass man überhaupt einen Workaround implementieren muss, für eine Toolchain + Framework in dieser Preisklasse .
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: PayPal Soap Anbindung

  Alt 20. Jun 2018, 07:34
Wenn Embarcadero keinen Fix bis Okt. 2018 (unser Termin für die Umstellung des Production Codes von Seattle auf Tokyo) liefert
Ist denn auch ein direkter Supportfall bei Embarcadero offen oder nur dieses öffentliche Ticket? Eine möglichst schnelle Lösung bekommst du eher, wenn du dafür einen Supportfall aufmachst. (Drei pro Jahr sind ja in der Subscription enthalten.)
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
TiGü

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

AW: PayPal Soap Anbindung

  Alt 20. Jun 2018, 08:39
Du kannst es - zumindest für Tokyo - wie folgt lösen.
Der entscheidende Punkt ist das Freigeben der betreffenden Klasse in der überschriebenen ConvertSoapToNativeData-Methode.

Delphi-Quellcode:
procedure ConvertSoapToNativeData(DataP: Pointer; TypeInfo: PTypeInfo;
      RootNode, Node: IXMLNode; Translate: Boolean); override;
                                                  // ^^^^^^^^
D.h. in Tokyo sind diese Funktionen von TOPToSoapDomConvert jetzt virtuell und überladbar?
Sowohl in Berlin als auch für Tokyo ist die public-Methode ConvertSoapToNativeData als dynmamic gekennzeichnet und daher überschreibbar.
Der Fix würde also für beide Versionen funktionieren.

Ich werde Deinen Vorschlag für einen Workaround ausprobieren (vielen Dank für den Beispielcode!!).
Gern geschehen!

Es ist schon traurig, dass man überhaupt einen Workaround implementieren muss, für eine Toolchain + Framework in dieser Preisklasse .
Beschäftige dich dann mal lieber nicht mit dem internen REST-Framework.

Ich musste in Delphi Berlin darüber eine Datei schicken, was ums verrecken nicht funktionieren wollte.
Ein hinterherdebuggen zeigte, dass die gesamte Funktionalität dafür noch nicht da war bzw. auskommentiert.
Erst der Umstieg auf Tokyo und wieder eine Überschreibung einer wichtigen Methode brachte die Lösung.

Leider hat Emba die Unart, viele wichtige Klassendefinitionen nur im implementation-Teil zu schieben, was einige Fixes sehr erschwert.
  Mit Zitat antworten Zitat
Benutzerbild von makulik
makulik

Registriert seit: 13. Jun 2018
9 Beiträge
 
#24

AW: PayPal Soap Anbindung

  Alt 20. Jun 2018, 18:39
Ist denn auch ein direkter Supportfall bei Embarcadero offen oder nur dieses öffentliche Ticket? Eine möglichst schnelle Lösung bekommst du eher, wenn du dafür einen Supportfall aufmachst. (Drei pro Jahr sind ja in der Subscription enthalten.)
Danke für den Tip, aber die Supportfälle heben wir uns vielleicht dann doch für wichtigere (unlösbare) Probleme auf, denke ich.

Ich hab' einfach einem ihrer Chefingenieure und Evangelisten (Jim Mc Keeth) auf Twitter ein bissl in den Arsch getreten:

https://twitter.com/GntherMakulik/st...98391128297473

  Mit Zitat antworten Zitat
Benutzerbild von makulik
makulik

Registriert seit: 13. Jun 2018
9 Beiträge
 
#25

AW: PayPal Soap Anbindung

  Alt 20. Jun 2018, 18:42
Leider hat Emba die Unart, viele wichtige Klassendefinitionen nur im implementation-Teil zu schieben, was einige Fixes sehr erschwert.
Ich pflege diese "Unart" auch, aber dann habe ich eine richtige interface Definition für die Implementierung.

Geändert von makulik (20. Jun 2018 um 19:30 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   

 

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 21:08 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