Форум: "Основная";
Поиск по всему сайту: 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.72 MB
Время: 0.021 c
14-79475          Alexey(Me)            2002-01-05 11:11  2002.02.25  
Comp. фирма


14-79453          Andrews               2002-01-09 11:45  2002.02.25  
Для тех кому нравится рассказ:


4-79502           ZEE                   2001-12-26 13:30  2002.02.25  
Иконка в API-приложении


3-79284           SelfDestructor        2002-01-30 18:28  2002.02.25  
Игнорирование строк запроса к таблице


1-79375           greenrul              2002-02-08 20:24  2002.02.25  
Как свой checkbox и radiobutton сотворить?