Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по 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 клиента.
Если он конечно есть.


Наверх

Титульная страница Поиск, карта сайта Написать письмо