Форум: "Основная";
Поиск по всему сайту: 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.022 c
3-79292           Guest.                2002-01-31 12:36  2002.02.25  
Params в Query


4-79516           Алекс1                2001-12-18 10:16  2002.02.25  
Удалить директорию в NT и перезагрузка в NT


3-79302           Mr.Sane               2002-01-30 12:35  2002.02.25  
TROUBLE SQLEXPLORER


14-79460          False_Delirium        2002-01-05 06:48  2002.02.25  
Головой думать нужно...:)..или пища для размышления...


3-79250           Максимка              2002-01-29 18:55  2002.02.25  
Как в поле таблицы Oracle типа NUMBER записать NULL ?