Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: CL | DM;

Вниз

TList, освобождение памяти   Найти похожие ветки 

 
Виталий1327 ©   (2005-08-18 10:26) [0]

Вопрос в том, как освободить занимаемую списком память.
Метод Free освобождает память самого списка (это список указателей) а как освободить память от самих элементов списка? То есть нужно деструктор вставленных объектов чтобы вызывался. Кто знает как?


 
Гаврила ©   (2005-08-18 10:28) [1]

Если там экземпляры классов - то
for I:=0 to List.Count - 1 do
 TObject(List[I]).Free;
или же использовать TobjectList вместо Tlist
если там не экземпляры классов - то соответственно, в зависимости от того, что там


 
Digitman ©   (2005-08-18 10:29) [2]

вместо TList используй TObjectList.

в этом случае при TObjectList.Free для каждого объекта - эл-та списка автоматически будет вызван его деструктор


 
Виталий1327 ©   (2005-08-18 11:59) [3]


for I:=0 to List.Count - 1 do
TObject(List[I]).Free;

Да, это помогло, спасибо!
Конечно, это не есть хороший стиль, что мы вот так прямо приводим типы указателей, но зато работает и память освобождает.


 
Digitman ©   (2005-08-18 12:04) [4]


> Виталий1327 ©   (18.08.05 11:59) [3]


ТО ЖЕ самое по сути делает TObjectList, только неявно.



Страницы: 1 вся ветка

Текущий архив: 2005.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.098 c
14-1124434567
Ксардас
2005-08-19 10:56
2005.09.11
Ктонить знает какой файл нужно удалить,чтоб...


2-1123610916
MS-REM
2005-08-09 22:08
2005.09.11
Если CONSTRAINT аналог в MS-SQL SERVER(е)?


14-1124136115
Piter
2005-08-16 00:01
2005.09.11
Кто-нибудь плагины к Миранде писал?


1-1124517760
wenn
2005-08-20 10:02
2005.09.11
размер Одной ячейки DBGid


4-1122024870
DimaBr
2005-07-22 13:34
2005.09.11
Handle окна