RegisterTypeForComClients и sp_OACreate
От: Аноним  
Дата: 17.05.05 13:40
Оценка:
Я публикую .Net класс как COM:
   Guid g = new Guid("EA1B9EBA-E1EB-472A-B5CD-200F7C726079");
   (new RegistrationServices()).RegisterTypeForComClients(typeof(PrintServer.Object), ref g);

Всё замечательно работает, в т.ч. и DCOM, однако MSSQL со своей процедурой sp_OACreate — упорно не хочет его "видеть". Прописал на всякий случай в реестр CLSID — не помогло. Куда копать, спрашивается?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: RegisterTypeForComClients и sp_OACreate
От: Gushulay  
Дата: 17.05.05 14:14
Оценка:
Здравствуйте, Delirium, Вы писали:

D>Я публикую .Net класс как COM:

D>
   Guid g = new Guid("EA1B9EBA-E1EB-472A-B5CD-200F7C726079");
D>   (new RegistrationServices()).RegisterTypeForComClients(typeof(PrintServer.Object), ref g);
D>

D>Всё замечательно работает, в т.ч. и DCOM, однако MSSQL со своей процедурой sp_OACreate — упорно не хочет его "видеть". Прописал на всякий случай в реестр CLSID — не помогло. Куда копать, спрашивается?

D>
данное сообщение получено с www.gotdotnet.ru

D>ссылка на оригинальное сообщение


Выдержка с BOL: The specified OLE object must be valid and must support the IDispatch.
Re: RegisterTypeForComClients и sp_OACreate
От: Аноним  
Дата: 17.05.05 14:26
Оценка:
Разумеется OLE object валидный и IDispatch реализует — как бы он в противном случае вызывался удалённо? А он именно вызыватся по DCOM-у из Delphi и отлично работает.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: RegisterTypeForComClients и sp_OACreate
От: Gushulay  
Дата: 17.05.05 14:57
Оценка:
Здравствуйте, Delirium, Вы писали:

D>Разумеется OLE object валидный и IDispatch реализует — как бы он в противном случае вызывался удалённо? А он именно вызыватся по DCOM-у из Delphi и отлично работает.


D>
данное сообщение получено с www.gotdotnet.ru

D>ссылка на оригинальное сообщение


А может проблема в регистрации? Выдержка:

Remarks

This method, which is equivalent to calling CoRegisterClassObject in COM, is not intended to be used directly from your code. It registers a type but there is no equivalent unregistration method in the RegistrationServices class. Using the RegisterTypeForComClients method can cause unpredictable results, particularly if the application is multithreaded. Instead, to register the assembly containing the type, use the RegistrationServices.RegisterAssembly method.
Re[2]: RegisterTypeForComClients и sp_OACreate
От: Аноним  
Дата: 18.05.05 08:59
Оценка:
RegistrationServices.RegisterAssembly — никакого эффекта, на sp_OACreate не произвело


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.