Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Вниз

TListBox глючит, а размер проги непрерывно растёт !!!! 


maxi   (2002-02-08 03:06) [0]

Задался как-то я изучением списков. И вот что обнаружил: всем известно, что с каждой строкой списка в TListBox можно связать какой-либо объект, будь то число, дата, представитель класса и т.д. Это очень удобно.
Но проблема такая : я следил за размером моей программы во времени, и обнаружил, что РАЗМЕР ПРОГРАММЫ НЕПРЕРЫВНО РАСТЁТ.
Рост проги каждый раз вызывался при добавлении нескольких элементов списков со связанными с ними объектами, примерно на 4 кБ (что-то знакомое? - размер страницы). При этом, даже очистка списка командой Clear, или напрямую .Items.delete[I] никак не влияла на размер проги, и она плавно продолжала накапливаться...
Заглянул я в help, а там прямо так и написано:

.Items.delete[I] - If an object is associated with the string, the reference to the object is removed as well.

То бишь - если объект связывается со строкой, ссылка на объект также будет удалена. ССЫЛКА на объект! Но сам объект будет спокойно висеть в памяти и занимать место.

Поэтому, что делать ? Надо как то освободить память, но я не знаю как. Ваши предложения ?



Mbo   (2002-02-08 07:13) [1]

надо сначала непосредственно освобождать объект
TSomeObject(*.items.objects[i]).free;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.71 MB
Время: 0.027 c
3-79259           Delirium              2002-01-30 15:29  2002.02.25  
XMLQuery или XMLTable


14-79450          Фе                    2002-01-09 01:29  2002.02.25  
Бобик ?


4-79513           ev                    2001-12-15 19:24  2002.02.25  
Как посмотреть переменные в другой программе?


3-79280           Ser_Kham1             2002-01-31 12:39  2002.02.25  
Разумная структура данных


3-79289           nobody2002            2002-01-31 13:08  2002.02.25  
Транзакции и ADO: не работает RollbackTrans