Главная страница
    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.45 MB
Время: 0.035 c
3-1084847619
Алексей Петухов
2004-05-18 06:33
2004.06.06
Работа с TImageList


4-1082818484
gRad
2004-04-24 18:54
2004.06.06
Параметры ф-ий из dll


4-1083320755
svetlana
2004-04-30 14:25
2004.06.06
Хэндл строки состояния чужого окна


4-1083207979
Yus
2004-04-29 07:06
2004.06.06
Нажатие кнопки (API)


4-1083077222
Maximys
2004-04-27 18:47
2004.06.06
Поиск в реестре в windows





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский