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

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

Проверка объкта


^Sanya ©   (2002-10-27 15:39:00) 

Забыл, как проверялось, создан объект класса - или нет... аж стыдно:)
Напомните, плиз:)


Юрий Зотов   (2002-10-27 17:22:00) [1]

> Blacker77 © (27.10.02 16:17)

Это не проверка. Если класс TEDit в данной точке не известен, то будет ошибка на этапе компиляции. А если известен, то он никогда не будет равен nil.

> ^Sanya

Обратите внимание на "возможно". Проверка переменной на nil сама по себе еще не дает 100%-ную гарантию. Например:

Edit := TEdit.Create(...);
...
Edit.Free;
...
if Assigned(Edit) then Edit.Text := ""; // Получаем ошибку.

Edit.Free уничтожает объект, но не меняет ссылку Edit, поэтому проверка не срабатывает. А вот при FreeAndNil(Edit) (или при ручной очистке ссылки) все было бы ОК.


^Sanya   (2002-10-27 16:55:00) [2]


> down (27.10.02 16:30)
> if Assigned(Edit) then showmessage("Возможно, существует");

ВО! его-то я и хотел.
Спасибо.


down   (2002-10-27 16:30:00) [3]

if Assigned(Edit) then showmessage("Возможно, существует");


Blacker77   (2002-10-27 16:17:00) [4]

На примере TEdit:


if TEdit<>nil then
showmessage("Существует");


Наверх

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