Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

Help me!!! Не могу очистить TList (TList.Clear-но память прибавл)   Найти похожие ветки 

 
IceClimber ©   (2004-05-27 18:54) [0]

Я делаю такую штуку:

MemoList:=TList.Create;

for i:=0 to 10
begin
Getmem(memo,1);
memo^:=TMemo.Create(ScrollBox1);  {var memo:^TMemo;}
memo.Parent:=ScrollBox1;

MemoList.Add(memo);
end;

А потом при нажатии кнопки мне нужно очистить MemoList,
я делаю MemoList.Clear; Вроде бы все Ок, но при каждом нажатии кнопки
объем памяти увеличивается и после 20 кликов прога начинает тормозить.
Как этого избежать?


 
Тимохов ©   (2004-05-27 18:55) [1]

что за лажа.


> Getmem(memo,1);


указатели в win32 занимают 4 байта.


 
Гаврила ©   (2004-05-27 18:58) [2]

1. Не memo:^TMemo а memo: TMemo
2. Без GetMem
3. При очистке списка нужно разрушить объекты (если они больше не нужны) - в цикле вызвать Free


 
panov ©   (2004-05-27 18:59) [3]

>IceClimber ©   (27.05.04 18:54)

Кроме очистки списка, нужно уничтожать еще и сами объекты:

for i := MemoList.Count-1 downto 0 do
 TObject(MemoList.Items[i]).Free;


 
Тимохов ©   (2004-05-27 19:05) [4]

Дайте и я присоединюсь :))

В скамом конце надо не забыть удалить сам список:

MemoList.Free()


 
VMcL ©   (2004-05-27 19:06) [5]

>>IceClimber ©  (27.05.04 18:54)
>>panov ©  (27.05.04 18:59) [3]

Или использовать TObjectList с OwnsObjects = True.


 
Clickmaker ©   (2004-05-27 19:08) [6]

Я тоже хочу сказать :))

Для ленивых специально изобрели TObjectList с замечательным свойством OwnsObjects. Если его включить, то [3] можно не делать!!! :))


 
Гаврила ©   (2004-05-27 19:10) [7]

Кстати, если кто не в курсе, можно использовать TObjectList :-)



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

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

Наверх





Память: 0.46 MB
Время: 0.031 c
1-1085422899
td
2004-05-24 22:21
2004.06.06
Help в html


8-1080220511
X-Disa
2004-03-25 16:15
2004.06.06
Заливка


6-1079597472
Max_Ivanych
2004-03-18 11:11
2004.06.06
Помогите с кодом отсылки сообщения ы помощью idSMTP


3-1084539981
Kinda
2004-05-14 17:06
2004.06.06
Округление чисел


1-1085561649
Алексей
2004-05-26 12:54
2004.06.06
Как указать компилятору, что число является двоичным?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский