AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
Thema durchsuchen
Ansicht
Themen-Optionen

TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

Ein Thema von sh17 · begonnen am 7. Dez 2018 · letzter Beitrag vom 30. Jul 2019
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#1

TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 7. Dez 2018, 08:52
Hi, ich nutze bisher immer TJson.JsonToObject und TJson.ObjectToJsonString um Objekte serialisieren und deserialisieren zu können.

Seit Delphi 10.3 kann ich mein Objekt aber nicht mehr laden und speichern. Es kommen folgende Meldungen:

... TJson.JsonToObject<TMyObjList>(hstr);
EConversionError "Value 0 cannot be converted into Pointer. You ma use a user-defined reverter"


... TJson.ObjectToJsonString(myobj);
EConversionError "Type tkPointer is not currently supportet"

Hat sich hier etwas geändert, weiß jemand etwas?

Das Objekt ist relativ simpel.

Code:
  TMyObj = class(TObject)
  private
    FDescription: String;
    FSubject: String;
    FBody: String;
  published
    property Description : String read FDescription write FDescription;
    property Subject : String read FSubject write FSubject;
    property Body : String read FBody write FBody;
  end;
  TMyObjList = class(TObjectList<TMyObj>);
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 7. Dez 2018, 08:58
OK, verdammt

https://community.embarcadero.com/fo...7-rio-and-json

https://quality.embarcadero.com/browse/RSP-21685
Sven Harazim
--

Geändert von sh17 ( 7. Dez 2018 um 09:33 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#3

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 7. Dez 2018, 08:59
Ich benutze dafür TJSONMarshal, das funktioniert vor und nach Rio:

Delphi-Quellcode:
function TJson_Marshal_Base<T>.DoMarshal(const AMar : TJSONMarshal) : String;
var
  LValue: TJSONValue;

begin
    LValue := AMar.Marshal( Self );
    try
        Result := LValue.ToString;
    finally
        LValue.Free; // New: LValue temp. obj. must be freed
    end;

end;


function TJson_Marshal_Base<T>.Internal_ToString : String;
var
  LMar : TJSONMarshal;

begin
  LMar := TJSONMarshal.Create(TJSONConverter.Create, True);

  try
      Result := DoMarshal( LMar ); // To Avoid uncaught exceptions

  finally
      LMar.Free;
  end;

end;
Rollo
  Mit Zitat antworten Zitat
rd3

Registriert seit: 14. Aug 2015
21 Beiträge
 
#4

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 10. Dez 2018, 15:23
@sh17 Hast du eine Workaround dafür? Ich habe das gleiche Problem.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 10. Dez 2018, 15:29
ne, bin etwas sauer auf Emba, wie kann so etwas passieren? Da verzichtet man schon auf externe libs und dann sowas. Hab jetzt allen JSON-Krempel rausgeworfen und mach die Persistenz wieder mit XML (OXML-lib), klappt wunderbar.
Sven Harazim
--
  Mit Zitat antworten Zitat
rd3

Registriert seit: 14. Aug 2015
21 Beiträge
 
#6

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 10. Dez 2018, 15:35
Mist, kann darauf nicht verzichten. Und mit einem eigenen Marshaller, der implizit die JSON-Libraries benutzt, klappt es auch nicht. K*cke!
  Mit Zitat antworten Zitat
rd3

Registriert seit: 14. Aug 2015
21 Beiträge
 
#7

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 10. Dez 2018, 15:39
Das ist immer so. Ob das die verkackten Reports (damals, QuickReport, Rave usw. Dann Unicode usw.) sind oder sonst was. In komplexen Applikationen ist fast nie was kompatibel mit einer neuen Version. Immer und immer wieder. Wieso ich Idiot nicht endlich bei Visual Studio und .NET bleibe...?! Bei so viel Bugs und Hinterherhinkerei hilft auch langsam eine viel zu spät kommende Community-Edition nicht mehr...
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 10. Dez 2018, 15:52
Verständlich
Deswegen Pro Open Source RTL/VCL
Sven Harazim
--
  Mit Zitat antworten Zitat
rd3

Registriert seit: 14. Aug 2015
21 Beiträge
 
#9

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 10. Dez 2018, 15:57
Naja, in kommerziellen Anwendungen benutzen wir kein Open-Source. Wir halten 3rd-Parties auch in Grenzen. Wir benutzen DevExpress. Es geht auch um Support, worauf du im Open-Source-Bereich lange warten kannst - manchmal jedenfalls.

Geändert von rd3 (10. Dez 2018 um 16:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2

  Alt 10. Dez 2018, 16:12
Ich meinte auch eher so wie das .net Framework Open Source ist, schon unter Betreuung von Emba, da würden solche Fehler viel eher entdeckt und behoben werden können und nicht erst zur Auslieferung der IDE. Aber das ist ein anderes Thema.
Sven Harazim
--
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 23:58 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