Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.013 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#17

AW: Zugriffsverletzung beim TObjectDictionary.Add

  Alt 14. Okt 2019, 09:48
Zitat:
Eine Objektkopie mit Marshal/UnMarshal nimmt den Comparer nicht mit.
Unwesentliches Detail, was bisher fehlte

Lösung kann auch so aussehen:

Delphi-Quellcode:
TUserRoleRightDict = class(TObjectDictionary<Integer, TUserRoleRight>)
  constructor Create; overload;
end;

constructor TUserRoleRightDict.Create;
begin
  inherited Create;
end;
Dann ruft das JSON dings den richtigen ctor auf.

P.S. Das Problem wird übrigens auch bei TObjectList<T> passieren. Denn dann wird der parameterlose ctor von TList<T> aufgerufen und dann bleibt FOwnsObjects auf false. Nur als Hinweis, falls mal irgendwo massive Leaks auftreten.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (14. Okt 2019 um 10:52 Uhr)
  Mit Zitat antworten Zitat