Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c