Deem |
Отправлено: 31.08.2005, 11:42 |
|
![](/discussion/uploads/av-129.jpg)
Мастер участка
Группа: Участник
Сообщений: 327
![](/discussion/style_images/1/spacer.gif)
|
Задача: в некотором диалоге вызывается кнопкой форма ShowModal(). Эта форма может быть открыта уже методом Show().
Перед открытием формы из диалога я ее Close(), а потом ShowModal().
Она выходит наверх и приложение умирает, что-то с обработкой событий (думается). Ставили задержку между Close И ShowModal — цикл с обработкой событий, думали, надо время на закрытие окна.
Еще вместо Close делали Visible = false. Все одно. Что посоветуете?
|
![](/discussion/style_images/1/spacer.gif) |
olegenty |
Отправлено: 31.08.2005, 12:04 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
![](/discussion/style_images/1/spacer.gif)
|
Close() перед открытием диалога, с сохранением состояния до его открытия. потом всё как всегда, ShowModal(), а после закрытия диалога — восстановлене состояния.
|
![](/discussion/style_images/1/spacer.gif) |
Gedeon |
Отправлено: 31.08.2005, 12:15 |
|
![](/discussion/uploads/av-107.jpg)
Ветеран
Группа: Модератор
Сообщений: 1742
![](/discussion/style_images/1/spacer.gif)
|
Специально проверил у себя на 2 формах, то, что ты написал работает без нареканий, ищи у себя в коде что-то происходит.
PS Попробовал с тремя формами т.е. из 1 создали 2 и 3, а потом из 3 переоткрыли 2, все ОК.
Отредактировано Gedeon — 31/08/2005, 12:22
|
![](/discussion/style_images/1/spacer.gif) |
Deem |
Отправлено: 01.09.2005, 09:19 |
|
![](/discussion/uploads/av-129.jpg)
Мастер участка
Группа: Участник
Сообщений: 327
![](/discussion/style_images/1/spacer.gif)
|
to olegenty
Ну, я так и думал, пока не проверял. Может будет тоже самое. А про параметры: как восстановить положение окна под другими окнами? ![smile.gif](/discussion/html/emoticons/smile.gif)
to Gedeon
У меня есть куча всякого в OnShow и OnHide. Соотв. у тебя ситуация не смоделирована полностью.
Я спросил, думал есть какие-то стандартные ситуации и их решение. ![smile.gif](/discussion/html/emoticons/smile.gif)
Ладно, спасибо, буду рыться в коде.
|
![](/discussion/style_images/1/spacer.gif) |
Deem |
Отправлено: 01.09.2005, 10:00 |
|
![](/discussion/uploads/av-129.jpg)
Мастер участка
Группа: Участник
Сообщений: 327
![](/discussion/style_images/1/spacer.gif)
|
Решили. Окно FormStyle = fsStayOnTop. Такое окно по ShowModal иногда глючит, а иногда работает. У меня больше работало. Но попалась ситуация, когда отказалось.
Короче, после Close делаю FormStyle = fsNormal. Тогда по ShowModal все отлично. После закрытия диалога проблемной форме возвращаю StayOnTop.
Файтически,вариант olegenty.
|
![](/discussion/style_images/1/spacer.gif) |