Ответ 1
Резюме
MyList.Free
.
Подробный ответ
Общий контейнер TList<T>
содержит его содержимое. Когда вы освобождаете контейнер, содержимое также удаляется.
Теперь, если T
является неуправляемой ссылкой, либо указателем, либо классом, то список владеет ссылкой. Он не владеет тем, на что ссылается ссылка. Поэтому, если у вас есть TList<TObject>
, добавьте некоторые объекты, а затем освободите список, ссылки будут удалены, но объекты остаются. Итак, для решения этой проблемы существует TObjectList<T>
. Этот контейнер может быть сконфигурирован так, чтобы владеть объектами, а также ссылками, и таким образом удалять объекты в соответствующий момент.
Теперь в вашем сценарии каждый из ваших списков содержит либо тип значения, либо управляемый тип. Список владеет этими объектами и распоряжается им, когда он уничтожен. Поэтому для всех ваших списков MyList.Free
- это все, что вам нужно.