Форум: "Основная";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
ВнизDDE в сервисе. Найти похожие ветки
← →
Michael (2007-12-30 01:21) [0]В тестовом приложении все работает отлично. В сервисе ругается когда создаю объект TDdeServerConv. Пробовал создать его вручную, но не в конструкторе а позже: вроде завелось, но DDE не работает. В чем может быть проблема?
← →
Cj © (2007-12-30 12:05) [1]в том, что при создании DDE создается окно DDEMlMon а в сервисе GUI - не делают
← →
Michael (2007-12-30 13:36) [2]Понятно, что создание сервиса отличается от обычного приложения отсутствием GUI. Вопрос в том, как решить проблему DDE в сервисе.
← →
DrPass © (2007-12-30 18:21) [3]
> Вопрос в том, как решить проблему DDE в сервисе.
1. Неправильный вариант: сделать сервис работающим в user-mode и интерактивным. В этом случае там можно будет делать GUI
2. Правильный вариант: не делать в сервисе DDE. Для обмена информацией существует СОМ, NamedPipes и т.д.
← →
ага (2007-12-31 07:35) [4]
> 1. Неправильный вариант: сделать сервис работающим в user-
> mode и интерактивным. В этом случае там можно будет делать
> GUI
И нарваться на WinXP с FUS.
Реальный вариант только один, пункт 2 в > DrPass © (30.12.07 18:21) [3]. Причин несколько, и если привносимые Delphi еще можно более-менее легко преодолеть, то системное ограничение уже в общем случае непреодолимо, и заключается оно вот в чем:
DDE работает через оконные сообщения, то бишь посылаемые именно специальному окну, не потоку. А такое сообщение дойдет только в том случае, если отправляющий поток и поток, создавший целевое окно, подключены к одному десктопу. И это уже нерешаемо в случае Terminal Service, через которые работает FUS.
PS Есть еще Net DDE, может с ним и можно чего-нибудь замутить, но я его не знаю. Не вижу никакого смысла в использовании DDE при наличии массы других средств, тем более, что MS давным-давно объявила DDE устаревшей.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c