Danke erstmal...
Bei meinen Anforderungen handelt es sich ausschließlich um eigene "Daten"-Objekte.
Nachtrag:
Ich hatte diverse Beiträge auf Seite 1 übersehen. Vor allem der Link in Beitrag 9
http://www.delphipraxis.net/1152083-post9.html und der weiterführende Link sind sehr aufschlußreich.
Danke an alle. Wenn das, so wie verlautet, auch mit generischen Listen im Objekt funktioniert, wäre das "Muster" gut geeignet für die CodeLib...
Nachtrag Lösung:
habe jetzt nach folgendem Muster umgestellt...
Delphi-Quellcode:
.....
uses
DBXJSON, DBXJSONReflect;
.....
function DeepCopy(aValue: TObject): TObject;
var
MarshalObj: TJSONMarshal;
UnMarshalObj: TJSONUnMarshal;
JSONValue: TJSONValue;
begin
Result:= nil;
MarshalObj := TJSONMarshal.Create;
UnMarshalObj := TJSONUnMarshal.Create;
try
JSONValue := MarshalObj.Marshal(aValue);
try
if Assigned(JSONValue) then
Result:= UnMarshalObj.Unmarshal(JSONValue);
finally
JSONValue.Free;
end;
finally
MarshalObj.Free;
UnMarshalObj.Free;
end;
end;
Verwendung...
Delphi-Quellcode:
.....
var
MyObject1,
MyObject2: TMyObject;
begin
//Regular object construction
MyObject1:= TMyObject.Create;
//Deep copying an object
MyObject2:= TMyObject(DeepCopy(MyObject1));
try
//Do something here
finally
MyObject1.Free;
MyObject2.Free;
end;
end;
Die Verwendung als ClassHelper ist auch sehr interessant. (Siehe Link)
Erste Tests sind gut. Wollen wir dann mal schauen wie das mit "Unterobjekten" und generischen Listen funktioniert.
Danke an alle...