Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить создан ли экземпляр какого-либо класса? [D7]


Expl ©   (2005-03-01 19:03:00) 

Всем привет. Вот такая проблема. Мне нужно это определить, чтобы знать, уничтожать его или нет. Или можно не запариваясь вызывать cl.Free?


Ozone   (2005-03-02 05:40:00) [1]


>  [4] Fay ©   (01.03.05 19:16)


Смысл в том, что Free проверяет на Nil.


Anatoly Podgoretsky   (2005-03-01 19:50:00) [2]

А что у тебя за самовольные объекты, что приходится узнавать о них.


Fay   (2005-03-01 19:16:00) [3]

2 begin...end ©   (01.03.05 19:14) [3]
>>  в том случае, если он равен NIL
А смысл ?


Expl   (2005-03-01 19:16:00) [4]

А я только что в этом убедился, буду править, еще раз спасиб:)


begin...end   (2005-03-01 19:14:00) [5]

> Expl

Дико извиняюсь, я забыл кое-что уточнить. Повторно вызывать Free для несозданного объекта можно только в том случае, если он равен NIL. Т.е. если Вы создадите объект, потом его уничтожите с помощью Free, а потом снова вызовете Free, то будет ошибка. Поэтому лучше освобождать его не методом Free, а процедурой FreeAndNil. Её можно вызывать подряд сколько угодно раз. А в начале программы присваивайте переменной объекта NIL вручную. Ещё раз извиняюсь, - не полностью понял вопрос.


Expl   (2005-03-01 19:06:00) [6]

Спасиб.


begin...end   (2005-03-01 19:05:00) [7]

> Expl   (01.03.05 19:03)

Можно, не запариваясь, вызывать Free.


Наверх

Титульная страница Поиск, карта сайта Написать письмо