:: Архив конференции по VFP до 2005 года
"Измена" Release
Rustam
Автор

Сообщений: 235
Откуда: Иркутск
Дата регистрации: 14.10.2000
Здравствуйте Все!
Возникла следующая задача.
Программная системой уже пользуются несколько лет.
Меня попросили чтобы по нажатии Alt+F4 приложение не закрывалось,
а только чтобы активная форма закрылась.
Для решения данной задачи я в главное меню добавил пункт Закрыть окно и указал Alt+F4 в качестве
горячей клавиши. И написал код при выборе данного пункта
if type("_screen.activeForm")="O" and !isnull(_screen.activeForm)
if !_screen.activeForm.QueryUnload()
return -1
endif
_screen.activeForm.release
endif
В результате все работает неплохо, но возникла проблема с модальными формами которые возврашают значение.
Например
в программе вызов модальных форм возвращаюшие значение осуществляется всегда по нижеописанной схеме:
......
do form FEditForm.scx to lcRetVal
if !empty(lcRetVal)
........
endif
......
Поскольку переменная lcRetVal не описана она создается при возврате значения из формы.
В случае когда закрываю форму по Alt+F4 почему то метод Unload формы не срабатывает и естественно выдается ошибка в строке if !empty(lcRetVal).
Кто может обяснить чем отличается вызов
_screen.activeForm.release()
от
ThisForm.Release()




------------------
Ratings: 0 negative/0 positive
Re: "Измена" Release
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Не совсем понятно - где работает этот код в каком месте программы. А что бы модальное окно закрывалсь по Alt+F4 - достаточно ему поставить Desktop=.T. и тогда модальные формы буду закрываться именно по Alt+F4




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 8 (Гостей: 8)

© 2000-2024 Fox Club 
Яндекс.Метрика