Форум: "Основная";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
ВнизПроверка объкта Найти похожие ветки
← →
^Sanya (2002-10-27 15:39) [0]Забыл, как проверялось, создан объект класса - или нет... аж стыдно:)
Напомните, плиз:)
← →
Blacker77 (2002-10-27 16:17) [1]На примере TEdit:
if TEdit<>nil then
showmessage("Существует");
← →
down (2002-10-27 16:30) [2]if Assigned(Edit) then showmessage("Возможно, существует");
← →
^Sanya (2002-10-27 16:55) [3]
> down (27.10.02 16:30)
> if Assigned(Edit) then showmessage("Возможно, существует");
ВО! его-то я и хотел.
Спасибо.
← →
Юрий Зотов (2002-10-27 17:22) [4]> 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) (или при ручной очистке ссылки) все было бы ОК.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c