Проясните вопрос ,пожалуйста, вот получил подписчик событие, но подписчик — com объект без GUI, он должен передать это событие некой программе-монитору для отображения (а таких программ может быть несколько), т.е. надо как-то подсоединиться к существующему экземпляру и как это сделать?
Здравствуйте, msasha, Вы писали:
M>Проясните вопрос ,пожалуйста, вот получил подписчик событие, но подписчик — com объект без GUI, он должен передать это событие некой программе-монитору для отображения (а таких программ может быть несколько), т.е. надо как-то подсоединиться к существующему экземпляру и как это сделать?
Что-то не совсем связный вопрос получился.

Если тебе просто нужно получить указатель на интерфейс уже созданного сервера (out-proc), то это можно сделать путем вызова GetActiveObject. Только нужно, чтобы сервер зарегистрировал себя в ROT.
Здравствуйте, Алекс, Вы писали:
А>Что-то не совсем связный вопрос получился.
Если тебе просто нужно получить указатель на интерфейс уже созданного сервера (out-proc), то это можно сделать путем вызова GetActiveObject. Только нужно, чтобы сервер зарегистрировал себя в ROT.
А откуда подписчик узнает кому делать getactiveobject?
В предыдущем вопросе я хотел узнать, как народ с этими сообщениями работает и какой подход лучше в приведенной ситуации.
Здравствуйте, msasha, Вы писали:
M>Проясните вопрос ,пожалуйста, вот получил подписчик событие, но подписчик — com объект без GUI, он должен передать это событие некой программе-монитору для отображения (а таких программ может быть несколько), т.е. надо как-то подсоединиться к существующему экземпляру и как это сделать?
Вот в этой статье
http://rsdn.ru/article/?baseserv/qc.xmlАвтор(ы): А. Новик
дан пример того как сделать то что ты хочешь. Правда не на дельфи, но смысл тот же.
Общий принцип такой... создаешь синлетон-объект (на дельфи придется потрахаться) который с одной стороны подписывается на КОМ+-события, а с другой реализует обычные комовские события (через iConnectionPoint). Далее монитор создает этот синглтон и подключается к событим. Кгда событийная подсистема КОМ+ пдымит этот объект мониторы уже будут к нему подключены. Ну а далее все просто. Единственная загвоздака в том, что вызовы будут делатьс в разных потоках и нужно будет или вручную маршалить интерфейсы или пользоваться
GIT-ом.
... << RSDN@Home 1.0 alpha VladD2.1.0.alpha 12.1.0.1053.34192 >>