Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Вниз

Модальное окно "прячется" за основную форму ???   Найти похожие ветки 

 
DimDim ©   (2005-09-17 19:43) [0]

Уважаемые Мастера, помогите разобраться!
Суть вопроса: При запуске программы в OnActivate выполняются некоторые проверки и выдаются соответствующие сообщения в виде модальных диологовых окон (не системных). В WinXP эти окна ИНОГДА "прячутся" за главное окно программы и пользователи их не видят. В результате, внешне это выглядит как "зависшая" программа. Соответственно, процедура запуска (та, что в OnActivate) до конца не отработала и программа не работает.
Происходит это ТОЛЬКО на WinXP и абсолютно непредсказуемо. Т.е. в 2-х случаях из 3-х грузится нормально.


 
Defunct ©   (2005-09-17 19:51) [1]

ставить свойсво FormStyle = fsStayOnTop у диалогов.


 
DimDim ©   (2005-09-17 20:02) [2]

Так в том-то и прикол, что программа одинаково себя ведет со свойствами окон fsStayOnTop и fsNormal.
Может из-за того, что модальные окна создаются динамически?
Запускаю их:
     Application.CreateForm(TFormOPEN1,FormOPEN1);
     FormOPEN1.ShowModal;
     FormOPEN1.Free;


 
DimDim ©   (2005-09-18 13:19) [3]

Чаво??? Я единственный, кто видел что модальные окна в XP "прячутся" за основные???
Поясняю: при этом фокус остается на модальном окне. Соответственно главное окно невозможно отодвинуть, пока фокус находится на модальном, а его не видно! Пользователи начинают с этим бороться перезагрузкой Windows (мало кто знает три волшебные клавиши).
Пытаюсь с этим бороться уже месяца 4.
Небольшое улучшение было после того, как в теле OnActivate понаставил Application.ProcessMessages;.  Но все равно периодически вылазит такая дрянь.


 
Defunct ©   (2005-09-19 10:01) [4]

Само по себе не может такое появляться...


 
Deka ©   (2005-09-19 12:29) [5]

У меня было такое - побороть не удалось, но и разбирался я не сильно. Просто ушел от решения с модальными диалогами. А в другом случае прятал главную форму.


 
BFG9k ©   (2005-09-20 15:41) [6]

Видимо ты что-то криминальное делаешь после или до  того, как модальное окно появилось. У меня такое было - программа при запуске сворачивалась в трей и одновременно с этим могло возникнуть информационное сообщение. Получалось все как у тебя. Решение - избегать таких ситуаций.


 
Aleksandr.   (2005-09-20 15:48) [7]

ИМХО, это глюк связанный с XP.
Я вообще эту хрень обходил тем, что по окончании всех инициализаций и т.д. вызывал Application.BringToFront, при котором нормально перестраивался ордер окон.


 
Экспериментатор   (2005-09-21 08:47) [8]

Было у меня такое.
Как бороться не знаю до сих пор.
Стал избегать продолжительных операций того рода


 
КиТаЯц ©   (2005-09-21 10:06) [9]

Было. Только на ХР.
Программа отрабатывает длинный цикл без всяких рефреший чтобы побыстрей. Нетерпеливый юзер кликает по заголовку главной формы - главная выходит поверх модального, а фокус остается на модальном.

Набил во все циклы Application.ProcessMessage;
Вроде помогло...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.015 c
14-1127044917
Yeg
2005-09-18 16:01
2005.10.09
Помогите найти D(y)...


1-1127241643
QwertyKz
2005-09-20 22:40
2005.10.09
шрифт заголовка окна


14-1126990328
WonderfulDay
2005-09-18 00:52
2005.10.09
За сколько времени можно выучить Дэлфи?


4-1123239731
Tab
2005-08-05 15:02
2005.10.09
Системные имена кнопок


3-1125425983
Step[B.M.]
2005-08-30 22:19
2005.10.09
Работа с PostgreSQL через ODBC





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский