![]() |
TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
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>); |
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
|
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
Ich benutze dafür TJSONMarshal, das funktioniert vor und nach Rio:
Delphi-Quellcode:
Rollo
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; |
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
@sh17 Hast du eine Workaround dafür? Ich habe das gleiche Problem.
|
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
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.
|
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
Mist, kann darauf nicht verzichten. Und mit einem eigenen Marshaller, der implizit die JSON-Libraries benutzt, klappt es auch nicht. K*cke!
|
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
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...
|
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
Verständlich
Deswegen Pro Open Source RTL/VCL |
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
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.
|
AW: TJson.JsonToObject funktioniert unter Delphi 10.3 nicht mehr wie unter 10.2
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.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz