Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
1-1085248628
Vetalich
2004-05-22 21:57
2004.06.06
Убирание кнопки на главном окне.


6-1082466294
Alan2
2004-04-20 17:04
2004.06.06
Проверка сайта на обновление


14-1084987325
Andy BitOff
2004-05-19 21:22
2004.06.06
TSynSpellCheck, проблеммы установки.


14-1084713446
Gero
2004-05-16 17:17
2004.06.06
Вкладка "Безопасность" в XP.


1-1085290858
trix
2004-05-23 09:40
2004.06.06
Как склеить файлы ?