Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Как закрыть форму кодом извне. ( prg )  [new]
Stepanich
Guest
Надо открыть и закрыть форму из программы. Открываю без проблем, а вот при попытках типа activeform.release - ошибка - объекта activeform не существует.
Хотя выше я так к ней обращаюсь и нормально. КААААААААААК?
21 апр 04, 10:55    [639801]     Ответить | Цитировать Сообщить модератору
 Re: Как закрыть форму кодом извне. ( prg )  [new]
AiSK
Member

Откуда:
Сообщений: 210
_VFP.Activeform.Release(0) не работатет?
21 апр 04, 11:01    [639819]     Ответить | Цитировать Сообщить модератору
 Re: Как закрыть форму кодом извне. ( prg )  [new]
Вячеслав Клепинин
Member

Откуда: Санкт-Петербург
Сообщений: 336
_VFP.ActiveForm.Release

Если работаете в главном окне фокса, то вместо _VFP можно пользовать _SCREEN.
21 апр 04, 11:02    [639822]     Ответить | Цитировать Сообщить модератору
 Re: Как закрыть форму кодом извне. ( prg )  [new]
Null
Guest
Открытие:
public lo_obj 

DO form frm_main NAME lo_obj noshow
IF VARTYPE(lo_obj)='O' .AND. !ISNULL(lo_obj)
lo_obj.Show()
endif

Закрытие:
IF VARTYPE(lo_obj)='O' .AND. !ISNULL(lo_obj)

RELEASE lo_obj
endif
21 апр 04, 11:02    [639824]     Ответить | Цитировать Сообщить модератору
 Re: Как закрыть форму кодом извне. ( prg )  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
ActiveForm содержит ссылку на активную в данный момент форму. Но хотя форма и существует, она может быть НЕ активна. Поэтому лучше закрывать не активную форму, а форму, открытую самой последней. Такие формы, как правило, имеют индекс 1 в коллекции форм.

IF TYPE("_VFP.Forms(1).name")="C"
_VFP.Forms(1).release()
ENDIF

Если нужно закрыть конкретную форму, то можно адресоваться по ее имени

IF TYPE("_VFP.Forms('MyForm').name")="C"
_VFP.Forms('MyForm').release()
ENDIF

Здесь MyForm - это значение свойства Name соответствующей формы. Такое обращение работает только с объектом _VFP, с объектом _SCREEN - будет ошибка.
21 апр 04, 11:13    [639869]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить