Thema: Delphi Object kopieren

Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#12

AW: Object kopieren

  Alt 28. Apr 2017, 16:36
Moin...
...einen habe ich noch.
Delphi-Quellcode:
uses
  Data.DBXJSON, Data.DBXJSONReflect; // ohne Gewähr
...
function TBlubb.ObjectCopy(aValue: TObject): TObject;
var
  MarshalObj: TJSONMarshal;
  UnMarshalObj: TJSONUnMarshal;
  JSONValue: TJSONValue;
begin
  Result := nil;
  MarshalObj := TJSONMarshal.Create;
  try
    UnMarshalObj := TJSONUnMarshal.Create;
    try
      JSONValue := MarshalObj.Marshal(aValue);
      try
        if Assigned(JSONValue) then
          Result := UnMarshalObj.Unmarshal(JSONValue);
      finally
        JSONValue.Free;
      end;
    finally
      UnMarshalObj.Free;
    end;
  finally
    MarshalObj.Free;
  end;
end;
Damit kopiere ich ein komplexes Objekt, u.a. mit generischen Listen und deren Inhalt, in eine neue Instanz. Im Prinzip ist es eine Umwandlung in JSON und wieder zurück. Für meine Zwecke reicht es.
  Mit Zitat antworten Zitat