![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по COM: как обратиться серверу к клиенту? [D7, XP]
nickmas © (2006-06-16 09:24:00)Подскажите, пожалуйста, в следующем:
Есть COM-сервер, к нему через интерфейс подключается клиент и может выполнять какие-либо действия на этом сервере. Как сделать, чтобы и сервер мог выполнять действия в пространстве подключенного к нему клиента?
PS. COM-сервер и COM-клиент работают в разных адресных пространствах.
nickmas (2006-06-19 02:06:00) [1]Пробовал сделать клиента1 одновременно и сервером2, и сервер1 - одновременно клиентом2, чтобы клиент1 обращался к серверу1 по одному интерфейсу и клиент2(сервер1) обращался к серверу2(клиент1) по другому интерфейсу (думаю вы поняли что я хочу сказать).
Т.е. организовать взаимную связь - ошибка таже.
nickmas (2006-06-19 01:59:00) [2]
> Смысл появления СОМ вообще-то как раз и состоял в том, чтобы
> организовать совместную работу разных процессов, в разных
> адресных пространствах
Да, это так, но оно работает, когда клиент(ы) обращаются к серверу. А когда пытаешься одновременно обратиться из сервера к клиенту, выскакивает ошибка RPCRT4.dll.
В принципе вопрос в этом изначально и стоял.
isasa (2006-06-17 10:58:00) [3]А чем COM+ events не подходят?
DrPass (2006-06-17 00:50:00) [4]
> сервер и клиент работают в разных адресных пространствах.
Смысл появления СОМ вообще-то как раз и состоял в том, чтобы организовать совместную работу разных процессов, в разных адресных пространствах
tesseract (2006-06-17 00:09:00) [5]
> Этот способ не подходит, т.к. сервер и клиент работают в
> разных адресных пространствах.
Com плевать, в чьём адресном пространстве он работает, яркий пример применения - 1С.
nickmas (2006-06-16 23:14:00) [6]Этот способ не подходит, т.к. сервер и клиент работают в разных адресных пространствах.
Может есть еще у кого-нибудь идеи?
nickmas (2006-06-16 12:56:00) [7]Подскажи, как по idispatch обратиться серверу к клиенту?
tesseract (2006-06-16 09:26:00) [8]
> Как сделать, чтобы и сервер мог выполнять действия в пространстве
> подключенного к нему клиента?
Передай указатель на idispatch клиента.
Если он конечно есть.