:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки :: | ||
Л и с о в о д ы в с е х с т р а н, о б ъ е д и н я й т е с ь !!! |
Как из модальной формы, открытой через Show(1) вернуть значение | ||
---|---|---|
Вопрос:
Я создал класс формы и создаю экземпляр модальной формы командой
Как из такой формы вернуть значение? Ответ: Идея решения принадлежит Вадиму Пирожкову (Piva). Суть решения сводится к тому, что форма не может быть уничтожена, пока существует хотя бы одна ссылка на эту форму. Эта дополнительная ссылка создается при помощи объектных скобок WITH...ENDWITH. Создание экземпляра такой формы примет вид:
Здесь Text1 – это объект, расположенный на форме, а Prop2 – свойство самой формы. До тех пор, пока не будет закрыта объектная скобка "ENDWITH" форма не может быть удалена. Следовательно, будут доступны для прямого чтения все ее свойства и методы. Но если форма не может быть удалена, то прямая команда ThisForm.Release() будет проигнорирована или же ее выполнение приведет к различным глюкам. Чтобы все-таки удалить форму используется другая особенность модальных форм в FoxPro. Модальной может быть только видимая форма. Как только модальная форма перестает быть видимой, она перестает быть модальной. Другими словами, закрытие формы осуществляется не одной, а двумя командами:
Замечание: В принципе, можно обойтись и без дополнительной объектной переменной для вызова формы. Примерно так:
Это как Вам покажется удобнее. Надо только не забыть присвоить "внешним" (по отношению к объектной скобке WITH...ENDWITH) переменным значения свойств модальной формы. Темы, связанные с данной: Что означает префикс (буква) "m." перед именем |
||
Тема | Просмотров | Написано | Написано |
---|---|---|---|
Form | 5126 | Владимир Максимов | 01.03.05 22:13 |
Почему созданный массив или переменную не "видно" в других методах формы | 7474 | Владимир Максимов | 30.03.05 16:37 |
Как перехватить нажатие на крестик в правом верхнем углу формы | 9598 | Владимир Максимов | 01.04.05 08:45 |
Почему параметры, переданные в форму "видно" только в INIT-формы | 5910 | Владимир Максимов | 22.08.05 19:43 |
Как из модальной формы вернуть несколько значений | 8140 | Владимир Максимов | 06.11.06 00:46 |
Как из модальной формы, открытой через Show(1) вернуть значение | 5905 | Владимир Максимов | 06.11.06 00:51 |
© 2006 Fox Club  |