Такая проблема : существует два СОМ приложения оба реализованы в виде exe — файлов.
Необходимо посредством точек соединения (connection point) реализовать механизм обработки событий.
Инициатор события(Server) реализован на ATL, получатель — на MFC. Задача немного усложнена тем, что
сервер является оболочкой для библиотеки реализующий некоторый callback-механизм, посредством которого должна происходить инициализация рассылки сообщения Server- ом.
Пожалуйста объясните как это сделать? Желательно с наименшими временными затратами.
Здравствуйте, KDG , Вы писали:
KDG>Такая проблема : существует два СОМ приложения оба реализованы в виде exe — файлов. KDG>Необходимо посредством точек соединения (connection point) реализовать механизм обработки событий. KDG>Инициатор события(Server) реализован на ATL, получатель — на MFC. Задача немного усложнена тем, что KDG>сервер является оболочкой для библиотеки реализующий некоторый callback-механизм, посредством которого должна происходить инициализация рассылки сообщения Server- ом.
KDG>Пожалуйста объясните как это сделать? Желательно с наименшими временными затратами.
KDG>Заранее благодарен!
Есть простой пример (коды-проекты) создания клиента и сервера (exe-ки) на Дельфе 6 с инструкцией вордовской с использованием connection point.
Если нужно могу послать на мыло.
Да кстати, есть еще хороший (дешевый) вариант реализации соединения клиента и сервера, так называемы ОЛЕ-пулинг.
Типа зоводишь флаг на сервере и в нужный момент его устанавливаешь, а клиент постоянно в цикле проверяет этот флаг и как тока он изменился считается событие свершенным. Флаг можно проверять в отдельном потоке (типа асинхронно, с определенным таймаутом). Не произодительно — зато просто.
Да хорошая книшка с дискетой с примерами:
купи там это есть
Э.Трельсен "Модель СОМ и применение ATL 3.0"
Здравствуйте, Vitaton, Вы писали:
V>Есть простой пример (коды-проекты) создания клиента и сервера (exe-ки) на Дельфе 6 с инструкцией вордовской с использованием connection point. V>Если нужно могу послать на мыло.
V>Да кстати, есть еще хороший (дешевый) вариант реализации соединения клиента и сервера, так называемы ОЛЕ-пулинг. V>Типа зоводишь флаг на сервере и в нужный момент его устанавливаешь, а клиент постоянно в цикле проверяет этот флаг и как тока он изменился считается событие свершенным. Флаг можно проверять в отдельном потоке (типа асинхронно, с определенным таймаутом). Не произодительно — зато просто.
V>Да хорошая книшка с дискетой с примерами: V>купи там это есть V>Э.Трельсен "Модель СОМ и применение ATL 3.0"
Если можно пришлите примеры на _destroyer_@mafia.by,
хотя и пишу на Visual C++ 6.0, возможно сгодятся.
По поводу пулинга — он не подходит по всё той же причине производительности. Да и клиенты планируется в общем писать, и на скриптовых языках тоже.
Книжка Трельсена есть, но опять же там не рассматривается подробно реализация клиентов, тем более мой случай.
В свое время мне надо было научиться реагировать на события, происходящие в Excel. Получилось через Connection point. Классный пример ты найдёшь в MSDN поискав слово "CExcelEventSink".
это по барабану, тот же код у меня работает в случае двух exe
KDG>а во-вторых всё, что там написано у меня в коде присутсвует, но он от всё равно не работает.
хм "все равно не работает" Какая функция на каком этапе и какую ошибку возвращает, конкретно пожалуйста
Re[4]: Проблема с Connection Point
От:
Аноним
Дата:
11.06.03 08:47
Оценка:
Здравствуйте
а как в консольном приложении события от .exe сервера подключить?