Главная страница
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.025 c
14-1084803148
Delphi5.01
2004-05-17 18:12
2004.06.06
Mircosoft Access, eto realno?


1-1085166307
Lena19
2004-05-21 23:05
2004.06.06
как узнать размер буквы в пикселях не помещая ее на канву


14-1084909409
Vasya.ru
2004-05-18 23:43
2004.06.06
Скоко прога стоит?


3-1084564357
Mike Kouzmine
2004-05-14 23:52
2004.06.06
Ошибка в ХП


9-1075879122
Wild
2004-02-04 10:18
2004.06.06
Вода