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

Вниз

Assigned & Dispose. Что не так?   Найти похожие ветки 

 
Cosinus ©   (2004-12-21 12:20) [0]


if Assigned(Add_lb.Items.Objects[Add_lb.Items.Count-1]) then
   Dispose(Add_lb.Items.Objects[Add_lb.Items.Count-1]);
Почему то не работает... Не подскажите, почему?


 
PVOzerski ©   (2004-12-21 12:25) [1]

1) кабы знать еще тип Add_lb.Items.Objects[Add_lb.Items.Count-1]...
2) В любом случае: dispose не делает значения указателя на высвобожденную область памяти равным nil, а assigned именно на равность nil и проверяет. Отсюда делай вывод.


 
begin...end ©   (2004-12-21 12:26) [2]

> Cosinus ©   (21.12.04 12:20)

Add_lb - это ListBox ?

Объекты уничтожаются с помощью деструктора, метода Free или процедуры FreeAndNIL.


 
Суслик ©   (2004-12-21 12:42) [3]


> Почему то не работает... Не подскажите, почему?

А что должно быть?
Если имеется в виду освобождения памяти, то нужно делать так
dispose(PYouType(Obj)), т.к. приводить к типу данных, на который указывает указатель


 
Cosinus ©   (2004-12-21 13:15) [4]

I>
> begin...end ©   (21.12.04 12:26) [2]

Да, это ListBox.

> Суслик ©   (21.12.04 12:42) [3]

Да, я хотел избежать утечек памяти. В итоге сделал так...

if Assigned(Add_lb.Items.Objects[Add_lb.Items.Count-1]) then
   Add_lb.Items.Objects[Add_lb.Items.Count-1].Free;

Всем спасибо.


 
PVOzerski ©   (2004-12-21 14:13) [5]

Лучше б ты FreeAndNil сделал...


 
icWasya ©   (2004-12-21 15:12) [6]

правильный код такой

 Add_lb.Items.Objects[Add_lb.Items.Count-1].Free;
 Add_lb.Items.Objects[Add_lb.Items.Count-1]:=Nil;



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

Текущий архив: 2005.01.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
14-1103617238
Кудесник
2004-12-21 11:20
2005.01.09
К тем кто юзал синтезаторы, в смысле музыкальные...


1-1103727686
Gennadiy
2004-12-22 18:01
2005.01.09
В Ексель не в формуле не передаются знак ";"


1-1103783704
Ученик
2004-12-23 09:35
2005.01.09
Интерфейс без тормозов


6-1098442071
Stlh
2004-10-22 14:47
2005.01.09
UDP (multicast) loopback в 98й.


1-1103729274
Unknown user
2004-12-22 18:27
2005.01.09
Как активировать MDIChildlen[N]?