![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Есть переменная frm:TMyTypeForm;
Как узнать, что форма на которую ссылается эта переменная,еще существует? assigned(frm)говорит существет, а на самом деле она уже закрыта... и потом когда обращаешься к ней, напрмиер, frm.MyFunction, естественно ругается. |
|
#2
|
||||
|
||||
|
Закрыта и несуществует - это разные понятия.
Вот если вы выполните frm.Free и после этого Assigned(frm) будет возвращать истину, тогда стоит задуматься. |
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
||||
|
||||
|
Тогда попробуйте FreeAndNil(frm) вместо frm.Free.
|
|
#5
|
|||
|
|||
|
форма уничтожена методом frm.destroy, а какая разница можду free?
|
|
#6
|
|||
|
|||
|
Форма уничтожается в другом месте методом destroy не через переменную frm. форма сама когда закрывается уничтожается, а ссылка на нее остается в переменной frm, и нужно проверять прежде чем с ней работать, что существет ли форма или нет.
|