Форум: "Основная";
Текущий архив: 2003.01.02;
Скачать: [xml.tar.bz2];
ВнизDCOM Найти похожие ветки
← →
VaS (2002-12-19 16:02) [0]Ситуация: связываюсь с моим СOM-сервером локально - все ОК. С другими серверами по сети - все ОК. С моим сервером по сети - облом ("Ошибка сервера" в CoCreateInstance(). При этом экземпляр ко-класса даже не создается). На обоих компах имеется exe-шник сервера, зарегистрирован. Используются некоторые интерфейсы, прокси-dll которых имеются и зарегистрированы на клиенте и сервере, также type library в exe-шнике. Другие сервера, использующие эти интерфейсы, работают нормально. Переворачивание клиент-сервер дает тот же результат. DCOM настроен. Прав хватает.
Просто не пойму куда еще копать.
← →
VaS (2002-12-19 16:56) [1]up
← →
han_malign (2002-12-19 17:08) [2]Честно говоря не знаю как и кем для DCOM транспорты пишутся(слышал гром - да не знаю где он), но попробу покопать в этом направлении.
← →
VaS (2002-12-19 19:44) [3]han_malign: Сэнксъ.
Up.
← →
asmith (2002-12-19 20:47) [4]Приведенной информации явно недостаточно - какую конкретно ошибку возвращает CoCreateInstance, используется ли СОМ+?
← →
VaS (2002-12-19 21:14) [5]Ошибка -2146959355. COM+ не используется. Все ком-объекты - наследники TComObject, библиотеки типов нет. Если это внесет ясность - это OPC-сервер.
← →
VaS (2002-12-19 21:15) [6]win2000pro+SP3 свежеустановленный
← →
Набережных С. (2002-12-19 21:39) [7]Сервер запускается?
← →
asmith (2002-12-19 21:50) [8]>Набережных С.
>Сервер запускается?
Именно, ошибка с кодом 80080005 - Server execution failed
← →
VaS (2002-12-19 21:58) [9]ХМ! Тут очень странное поведение. Если уже запущен, то вылетает та самая ошибка. Если же не запущен, то на сервере возникает процесс (в виде нужного exe в диспетчере задач). Нормально создаются сом-объекты и запрашиваются у них интерфейсы. Но сам сервер (в виде десктопного приложения) не появляется и не загружается конфигурационный файл (загрузка должна происходить в OnCreate гл. формы), без которого использовать сервер смысла нет.
← →
Набережных С. (2002-12-19 22:07) [10]>asmith (19.12.02 21:50)
Да я посмотрел, что за ошибка:) Обычно она возвращается, когда локальный SCM(в данном случае - тот, что на сервере) не может найти сервер. Однако иногда она же приходит, если сервер не почему-либо(например, из-за сбоя при инициализации) не зарегистрировал нужную фабрику. Потому и спросил.
>VaS © (19.12.02 21:58)
какая учетка активации? Подключившийся юзер?
← →
Набережных С. (2002-12-19 22:10) [11]Короче, конкретно разбирайся с настройками безопасности.
← →
VaS (2002-12-19 22:28) [12]Пользователь клиента на сервере прописан с правами админа. В dcomcnfg все всем разрешено. Уровень проверки подлинности - нет, уровень олицетворения - "определить". Полез посмотреть настройки самого сервера - а его-то и нету в списке.... (!) Как это может быть??? Может все беды от этого?
Ну и непонятно, что доступ к другим серверам, реализующим те же самые интерфейсы (OPC), работают отлично...
Но, главное, не понятно - где же запись насчет сервера в dcomcnfg? :-\
← →
Набережных С. (2002-12-19 22:41) [13]>VaS © (19.12.02 22:28)
>а его-то и нету в списке.... (!) Как это может быть???
AppID в реестре отсутствует. Вообще-то dcomcnfg должна автоматом добавлять, но лучше на это не рассчитывать и добавлять самому.
>Пользователь клиента на сервере прописан с правами админа.
Один хрен, у него своя станция и он из нее ни черта не увидит - потому и нет сервера в десктопе. Активируй под фиксированной записью и имперсонируй. А другие пути геморройные и со многими ограничениями.
← →
VaS (2002-12-19 23:02) [14]ОК, сэнкс большой, завтра все проверю, о результатах доложу ;)
← →
Dok_3D (2002-12-20 06:17) [15]2VaS ©
>а его-то и нету в списке.... (!) Как это может быть???
Да есть запись в dcomcnfg. Просто плохо смотришь.
Список приложений формируется по helpsring в IDL-описании класса. Видимо, у тебя helpsring пустой.
И в список должен был попасть GUID твоего класса. Смотри лучше.
← →
VaS (2002-12-20 10:30) [16]Dok_3D: Смотрел хорошо. GUID-а не было тоже. Хелпстринг не пустой.
Набережных С.: !!!!!!!!!!!!!! С меня 2 вагона пива :))
Была ошибочка в доп. регистрации (помимо той, которую делает ComObjectFactory), связанной с OPC, что обуславливало отсутствие в dcomcnfg записи о сервере. + Олицетворение :))) + запуск под указанным пользователем.
В общем - выручил очень сильно. Спасибо.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c