From 2e3263d0a1b7a90a17490e7d034e6196eaf7e285 Mon Sep 17 00:00:00 2001 From: Jens Fudickar Date: Thu, 17 Aug 2023 23:21:19 +0200 Subject: [PATCH] Fixes the memory handling of the DetailObjects list --- source/json2pumlpuml.pas | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/source/json2pumlpuml.pas b/source/json2pumlpuml.pas index c8b59d0..3892480 100644 --- a/source/json2pumlpuml.pas +++ b/source/json2pumlpuml.pas @@ -339,6 +339,7 @@ tPumlCharacteristicList = class(tBasePumlStringList) tPumlDetailObjectList = class(tBasePumlStringList) public + constructor Create(iParentObject: tBasePumlObject); override; procedure GeneratePumlClassList (ipuml: TStrings); procedure GeneratePumlTogether (ipuml: TStrings; iParentObjectName, iParentObjectTitle: string); end; @@ -446,7 +447,7 @@ implementation uses System.SysUtils, - System.Generics.Collections, System.Types, System.IOUtils, json2pumltools, System.Variants; + System.Generics.Collections, System.Types, System.IOUtils, json2pumltools, System.Variants, json2pumlloghandler; constructor tPumlObjectList.Create; begin @@ -538,8 +539,6 @@ constructor tPumlObject.Create; FCharacteristics := tPumlCharacteristicList.Create (Self); FRelations := tPumlObjectRelationshipList.Create (Self); FDetailObjects := tPumlDetailObjectList.Create (Self); - FDetailObjects.Sorted := true; - FDetailObjects.Duplicates := dupIgnore; FIsObjectDetail := False; FIsRelationship := False; FFiltered := true; @@ -1457,6 +1456,14 @@ procedure tBasePumlStringList.UpdateRedundant; tBasePumlObject (Objects[i]).UpdateRedundant; end; +constructor tPumlDetailObjectList.Create(iParentObject: tBasePumlObject); +begin + inherited Create(iParentObject); + Sorted := true; + Duplicates := dupIgnore; + OwnsObjects := False; +end; + procedure tPumlDetailObjectList.GeneratePumlClassList (ipuml: TStrings); var i: Integer;