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

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

DCOM. Interface not supported. [D7, WinXP]


Артем Кудлаенко ©   (2005-09-11 20:55:00) 

В результате вызова функции CreateRemoteComObject(MachineName, CLASS_Calc )возникает ошибка "Interface not supported."
Если кто-то сталкивался подскажите, plz, в чем дело и что я мог упустить.


Набережных С.   (2005-09-24 19:57:00) [1]


> локально я зарегестрировал сервер с помошью regsvr32

То бишь речь идет об ин-процесс сервере. Для удаленной работы с ним потребуется суррогатный процесс. При регистрации в ключе AppID нужно создать пустой подключь с именем DllSurrogate, чтобы использовать для этой либы в качестве суррогата процесс, предоставляемый системой. Подробнее ищи в MSDN по теме "surrogate process".

Кроме того, все интерфейсы, которые предполагается использовать(не классы!!) д.б. либо Automation-совместимые, либо иметь зарегистрированные прокси/стаб. Подробнее - в MSDN.


Артем Кудлаенко   (2005-09-24 18:24:00) [2]

Для работы локально я зарегестрировал сервер с помошью regsvr32.
Какие мне необходимо проделать операции на удаленной машине?


> ps. Почему в этом разделе, а не в "Corba и COM "?


Вышла ошибка с моей стороны.


Набережных С.   (2005-09-24 15:17:00) [3]


> Когда не установлен интерфейс выдается сообщение "Класс
> не зарегистрирован".

Нет. Это выдается когда не найден именно класс. В данном случае скорее всего отсутствует маршалер для запрошенного интерфейса.

ps. Почему в этом разделе, а не в "Corba и COM "?


Артем Кудлаенко   (2005-09-24 14:15:00) [4]

В mIUnknown возвращается Pointer(...) as IInterface


isasa   (2005-09-12 11:52:00) [5]

Попробуй так,

var mIUnknown : IUnknown;
...........
mIUnknown:=CreateRemoteComObject(MachineName, CLASS_ImyIntf);
.......
       myIntf:= mIUnknown as ImyIntf;
.......

Посмотри debugger-ом, что возвращается в mIUnknown


Артем Кудлаенко   (2005-09-11 22:21:00) [6]

1. Когда не установлен интерфейс выдается сообщение "Класс не зарегистрирован".
2. В dcomcnfg`е в закладке "Безопасность COM" дал всем права доступа и разрешения на запуск и активацию.


isasa   (2005-09-11 21:10:00) [7]

1.Не установлен интерфейс на MachineName.
2.Нет разрешения на запуск, доступ .... MachineName секьюрити (см. dcomcnfg)


Наверх

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