события com+ и delphi7
От: msasha  
Дата: 18.11.02 07:52
Оценка:
Проясните вопрос ,пожалуйста, вот получил подписчик событие, но подписчик — com объект без GUI, он должен передать это событие некой программе-монитору для отображения (а таких программ может быть несколько), т.е. надо как-то подсоединиться к существующему экземпляру и как это сделать?
Re: события com+ и delphi7
От: Алекс Россия http://wise-orm.com
Дата: 18.11.02 08:27
Оценка:
Здравствуйте, msasha, Вы писали:

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


Что-то не совсем связный вопрос получился. Если тебе просто нужно получить указатель на интерфейс уже созданного сервера (out-proc), то это можно сделать путем вызова GetActiveObject. Только нужно, чтобы сервер зарегистрировал себя в ROT.
Re[2]: события com+ и delphi7
От: Аноним  
Дата: 18.11.02 09:04
Оценка:
Здравствуйте, Алекс, Вы писали:

А>Что-то не совсем связный вопрос получился. Если тебе просто нужно получить указатель на интерфейс уже созданного сервера (out-proc), то это можно сделать путем вызова GetActiveObject. Только нужно, чтобы сервер зарегистрировал себя в ROT.


А откуда подписчик узнает кому делать getactiveobject?
В предыдущем вопросе я хотел узнать, как народ с этими сообщениями работает и какой подход лучше в приведенной ситуации.
Re: события com+ и delphi7
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.02 18:50
Оценка:
Здравствуйте, 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 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.