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

Вниз

ShowModal по DDE   Найти похожие ветки 

 
AndreyL   (2002-05-07 13:55) [0]

Почему при вызове по DDE функции, содержащей TForm.ShowModal все приложение становится активным (до этого оно активным не было) и как с этим бороться?

Господа! Задавал вопрос в Королевство, но там никто ничего вразумительного не ответил.
Проблема следующая: есть функция, которая вызывает модальную форму (функция работает долго, надо запретить пользовать интерфейс программы, в том числе и DDE-сервис). Эта функция может вызываться как "непосредственно" пользователем, так и по DDE (актуально, если нужно запустить ее несколько раз подряд). Но когда вызываем ее по DDE в цикле (макросом на VBA), потом переключаемся в любимого сапера и минут на десять пытаемся забыть о том, что где-то там что-то считается, то при каждом вызове этой функции все приложение (все открытые его формы с модальной формой во главе) всплывает поверх всего, закрывая собой любимого сапера. Самое интересное, что если организовать такой цикл не по DDE, а в самой программе, то модальная форма остается модальной в пределах приложения, но когда это приложение не активно, процедура TForm.ShowModal не выводит его(приложение) на первый план, и это правильно! А хотелось бы именно внешнее управление (типа макроса на VBA с командами DDE), а пока считает, можно было бы заняться чем нибудь другим.
В Королевстве предложили application.bringtofront - это прямо противоположно тому, что надо.
Заранее благодарен за ответ.


 
AndreyL   (2002-05-07 19:08) [1]

Я так понимаю, что в мире мне одному пришло в голову организовать DDE-сервер на Delphi. Может быть в Delphi просто TDdeServerConv какой-нибудь корявый? А я, глупый, мучаюсь?!



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

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

Наверх




Память: 0.44 MB
Время: 0.005 c
1-64737
Programmer1
2002-05-07 10:37
2002.05.20
Как перетащить форму?


14-64806
alexandr
2002-04-11 07:45
2002.05.20
Достало


1-64689
Windeus
2002-05-05 12:14
2002.05.20
Запуск программы открытием файлов


1-64715
kay
2002-05-06 23:04
2002.05.20
Edit


4-64880
AFROLOV
2002-03-20 13:02
2002.05.20
Как показывать дочернее окно в глобальных координатах ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский