![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить создан ли экземпляр какого-либо класса? [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.