In Delphi 10 Berlin unter Windows einen allgemeinen TList
Ich habe die folgende Aufzeichnung/Listenstruktur:
type
TMyRecord=record
Value1: Real;
SubList1: TList<Integer>;
SubList2: TList<Real>;
end;
TMyListOfRecords=TList<TMyRecord>;
ich mag die Struktur mit dem folgenden Code befreien:
var
i: Integer;
AMyListOfRecords: TMyListOfRecords;
begin
//other code
//free AMyListOfRecords and all its content
for i:=0 to AMyListOfRecords.Count-1 do
begin
AMyListOfRecords[i].SubList1.Free;
AMyListOfRecords[i].SubList2.Free;
end;
AMyListOfRecords.Free;
end;
Dies scheint zu funktionieren. Aber ich frage mich, ob es eine einfachere oder elegantere Lösung gibt?
Wenn Sie das DeHL verwenden können, dann können Sie einfach IList <> verwenden, das automatisch wie alle anderen verbundenen Objekte verwaltet wird. –
Andernfalls können Sie nur Ihren eigenen Wrapper über IList über TList implementieren und TInterfacedObject tun. –
Ihr Code scheint mir gut zu sein –