Вниз
Скачать: CL | DM;

Destroy or Free   Найти похожие ветки 

 
novice_man ©   (2004-11-11 08:29) [0]

Что выбрать Destroy или Free (список TList) и в чем разница.


 
Семен Сорокин ©   (2004-11-11 08:36) [1]

Выбирай Free, он делает проверку на существование экземпляра класса:

procedure TObject.Free;
begin
 if Self <> nil then
   Destroy;
end;


 
begin...end ©   (2004-11-11 08:39) [2]

novice_man ©   (11.11.04 8:29)

Отрывок из справки по TObject.Destroy:

Do not call Destroy directly. Call Free instead. Free verifies that the object reference is not nil before calling Destroy.

Unlike Destroy, Free provides a safeguard when destroying objects that are nil.

А вот и код из System.pas:

destructor TObject.Destroy;
begin
end;

procedure TObject.Free;
begin
 if Self <> nil then
   Destroy;
end.

В других классах (потомках TObject) в деструкторе Destroy могут производиться операции по "подготовке к уничтожению" - освобождение ресурсов, и т.д. Например, вод код деструктора TList.Destroy из Classes.pas:

destructor TList.Destroy;
begin
 Clear;
end.


 
novice_man ©   (2004-11-11 08:49) [3]

Спасибо за ответ. (Да, нужно читать справку к программе)


 
SergP ©   (2004-11-11 09:08) [4]


> он делает проверку на существование экземпляра класса:


ИМХО проверка или указатель не равен Nil еще не значит что это проверка на существование экземпляра класса...


 
Семен Сорокин ©   (2004-11-11 09:13) [5]


> SergP ©   (11.11.04 09:08) [4]

Началось, а как Вы обычно проверяете битая ссылка или нет, у Вас есть код?
Имхо, при правильном подходе это именно и есть проверка на существование экземпляра.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
8-1093959313
SH@RK
2004-08-31 17:35
2004.11.28
Последний пиксел нерисуется (LineTo) !!!


3-1098870506
Mishenka
2004-10-27 13:48
2004.11.28
Есть ли для баз данных компонент типа ListView ?


14-1100164229
TUser
2004-11-11 12:10
2004.11.28
Word


1-1100249183
frEEstyler
2004-11-12 11:46
2004.11.28
отсылка на сервер информации


3-1099233673
Sam Stone
2004-10-31 17:41
2004.11.28
ADO и MDB




   Наверх