Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Форма закрывается со второго раза / 7 сообщений из 7, страница 1 из 1
31.03.2006, 09:33
    #33636740
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма закрывается со второго раза
Какие настройки дали мне такой эффект?
Форма добавляется в состав FormSet'a командой AddObject. Затем ей дается Show(1). На форме есть кнопка, в событии Click которой указано ThisForm.Release.
Нажимаю на кнопку - отрабатывает Click, затем непонятно что (программа висит), нажимаю второй раз - форма релизится.
...
Рейтинг: 0 / 0
31.03.2006, 10:45
    #33636943
programmer-2005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма закрывается со второго раза
Попробуй имя формы.release() (правда сам так не пробовал.) или просто добавь ().
...
Рейтинг: 0 / 0
31.03.2006, 10:47
    #33636949
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма закрывается со второго раза
Формы внутри FormSet не могут иметь свойство WindowType отличное от свойства WindowType самого FormSet.

Т.е. если сам FormSet НЕ модальный, то сделать внутри него форму модальной - невозможно.

Метод Show() для открытия форм внутри FormSet может приводить к непредсказуемым глюкам, особенно с параметром 1, который как раз и призван установить модальность формы. Т.е. установить реквизит в значение, отличное от значения FormSet. Поэтому, для форм внутри FormSet лучше использовать пару команд

ThisFormSet.Form1.Visible = .T.
ThisFormSet.Form1.Enabled = .T.

Кроме того, FormSet - это объект контейнер, который крайне "нервно" относится к динамическому удалению объектов. Т.е. опять же, крайне не желательно удалять формы, если не предполагается тут же и закрыть сам FormSet.
...
Рейтинг: 0 / 0
31.03.2006, 11:39
    #33637128
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма закрывается со второго раза
ВладимирМ для форм внутри FormSet лучше использовать пару команд

ThisFormSet.Form1.Visible = .T.
ThisFormSet.Form1.Enabled = .T.



В таком случае моя форма показывается под другой модальной формой формсета как бы в режиме modeless и соответственно она недоступна. Хотя в классе указано для формы WindowType=1-Modal и в Debug у объекта Form наблюдаю Modal. Только метод формы Show() или Show(1) показывает её поверх другой формы.
FormSet модальный, все его формы показываю модально.
programmer-2005
Попробуй имя формы.release() (правда сам так не пробовал.) или просто добавь ().
Не влияет.
...
Рейтинг: 0 / 0
31.03.2006, 11:47
    #33637158
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма закрывается со второго раза
Кузнецов Игорь ВладимирМ для форм внутри FormSet лучше использовать пару команд

ThisFormSet.Form1.Visible = .T.
ThisFormSet.Form1.Enabled = .T.



В таком случае моя форма показывается под другой модальной формой формсета как бы в режиме modeless и соответственно она недоступна.
Чтобы перевести ее на передний план используется команда

ThisFormSet.Form1.ZOrder(0)

А что означает фраза "в режиме modeless и соответственно она недоступна" - не понятно. Разве нельзя переключится на нее щелкнув мышкой.

"в режиме modeless" - уже объяснял. НЕ МОЖЕТ форма внутри FormSet иметь ДРУГОЕ значение свойства WindowType. Между формами внутри FormSet ДОПУСТИМО перключаться. Для того FormSet и создается!

Если необходимо блокировать другие формы FormSet, то надо либо установить для них

Enabled = .F.

либо вообще отказаться от FormSet и использовать обычные формы.

Вообще, в описанной постановке не понятно зачем тебе FormSet? Ты запускаешь обычную модальную форму. Ну и запускай ее через DO FORM или CreateObject(). Зачем мудрить с FormSet?
...
Рейтинг: 0 / 0
31.03.2006, 14:28
    #33637748
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма закрывается со второго раза
Да, пожалуй буду выводить формы за пределы FormSet'a. Похоже, я неправильно использую идеологию набора форм.
А фраза "форма недоступна" буквально означает, что на неё нельзя переключиться мышкой.
...
Рейтинг: 0 / 0
09.04.2006, 14:10
    #33654284
AlikT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма закрывается со второго раза
Однажды попробовал FormSet, понял, что это извращение и больше их не использую
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Форма закрывается со второго раза / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]