Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Wie aus diesem JSON object erstellen? (https://www.delphipraxis.net/204278-wie-aus-diesem-json-object-erstellen.html)

TiGü 15. Jul 2021 08:39

AW: Wie aus diesem JSON object erstellen?
 
Hast du das Beispiel vom schönen Günther aus Beitrag #2 eins zu eins umgesetzt?
Geht bei in 10.4.2 ganz tadellos.

stephancramer 15. Jul 2021 11:28

AW: Wie aus diesem JSON object erstellen?
 
Danke für die schnelle Antwort.

Ja habe ich, erst mit 10.0 und jetzt nochmal mit 10.4.2 (Testversion) als Konsolenanwendung probiert.
Auch das Beispiel von Embarcadero von meinen Link.


Delphi-Quellcode:
class function TJSONUnMarshal.ObjectInstance(Ctx: TRttiContext; TypeName: string): TObject;
var
  rType: TRttiType;
  mType: TRTTIMethod;
  metaClass: TClass;
begin
  [COLOR="Blue"]rType := ObjectType(Ctx, TypeName);[/COLOR]
  if (rType <> nil) then
    for mType in rType.GetMethods do
    begin
      if mType.HasExtendedInfo and mType.IsConstructor then
      begin
        if Length(mType.GetParameters) = 0 then
        begin
          // invoke
          metaClass := rType.AsInstance.MetaclassType;
          Exit(mType.Invoke(metaClass, []).AsObject);
        end;
      end;
    end;
  Exit(nil);
end;
An der blauen Zeile kommt immer nil zurück.

Gruß Stephan

TiGü 15. Jul 2021 11:42

AW: Wie aus diesem JSON object erstellen?
 
Zippe mal dein Projekt und lade es hier als Anhang hoch.

stephancramer 15. Jul 2021 12:09

AW: Wie aus diesem JSON object erstellen?
 
OK, nicht ganz so.

ich hatte TUser in der gleichen Unit, also alles in einer Unit.
Jetzt habe ich TUser in eine eigene Unit ausgelagert und da geht es.

Danke für Deine Hilfe. Ich werde jetzt das Embarcadero Beispiel auch noch so testen, das ich das Objekt
in eine extra Unit auslagere.


Gruß Stephan.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.
Seite 2 von 2     12   

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