Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-64681
Марина
2002-05-06 10:45
2002.05.20
FastReport и строковые поля


1-64746
oss
2002-05-07 03:18
2002.05.20
пакеты (BPL)


1-64682
AFROLOV
2002-04-29 14:20
2002.05.20
Как узнать жив еще OLE - объект или его уже кто-то прибил?


1-64693
Riko
2002-05-03 15:14
2002.05.20
Как обновить данные в программе?


1-64573
SPeller
2002-05-05 05:54
2002.05.20
Косяк при создании форм