Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman
Online

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

AW: Zugriffsverletzung beim TObjectDictionary.Add

  Alt 9. Okt 2019, 07:24
Zitat:
Hat das Objekt ein "Assign", oder wie genau?
Normal macht man das klassisch mit Assign. Meine "Datenobjekte" haben auch Listen mit Objekten. Deshalb benutze ich gern folgendes:
Delphi-Quellcode:
class function TToolsJson.ObjectCopyJson(Value: TObject): TObject;
var
  MarshalObj: TJSONMarshal;
  UnMarshalObj: TJSONUnMarshal;
  JSONValue: TJSONValue;
begin
  Result := nil;
  MarshalObj := TJSONMarshal.Create;
  try
    UnMarshalObj := TJSONUnMarshal.Create;
    try
      JSONValue := MarshalObj.Marshal(Value);
      try
        if Assigned(JSONValue) then
          Result := UnMarshalObj.Unmarshal(JSONValue);
      finally
        JSONValue.Free;
      end;
    finally
      UnMarshalObj.Free;
    end;
  finally
    MarshalObj.Free;
  end;
end;
...nur leider funktioniert das nicht immer. Wie man an dem o.g. Fehler erkennen kann, werden Dictioniaries nicht wieder richtig erzeugt. Ich habe deshalb wieder nur auf Liste umgestellt.

Geändert von haentschman (10. Okt 2019 um 05:51 Uhr)
  Mit Zitat antworten Zitat