В Delphi 10 Berlin под Windows у меня есть следующий вопрос об освобождении общих списков:
У меня есть следующая структура записи/списка:
type
TMyRecord=record
Value1: Real;
SubList1: TList<Integer>;
SubList2: TList<Real>;
end;
TMyListOfRecords=TList<TMyRecord>;
Я хочу освободить структуру с помощью следующего кода:
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;
Кажется, это работает. Но мне интересно, есть ли более простое или элегантное решение?