Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| |
Да спасибо заработало частично. Сервер регистрируется, но не... 09.01.08 03:33 Число просмотров: 1907
Автор: void <Grebnev Valery> Статус: Elderman
|
> did you try this command? > > out_of_process_COM.exe /RegServer
Да спасибо заработало частично. Сервер регистрируется, но не могу запустить его DCOM-мом.
XP prof SP2. В W2k + dcomcnfg проще получалось. Не пойму, может в пермишн дело?
|
<programming>
|
[C++] Не могу зарегистрировать COM 05.01.08 16:56
Автор: void <Grebnev Valery> Статус: Elderman
|
XP Prof. При запуске *.exe, где COM (out of process COM), в реестре ничего не меняется.
Пермишн? Могу править реестр руками. Проект в VC++2005.
Может "экспортировать" .reg скрипт и запустить его на машине-дестинейшн?
Заранее спасибо за помощь.
|
|
did you try this command? 08.01.08 00:37
Автор: + <Mikhail> Статус: Elderman
|
> XP Prof. При запуске *.exe, где COM (out of process COM), в > реестре ничего не меняется. > Пермишн? Могу править реестр руками. Проект в VC++2005. > Может "экспортировать" .reg скрипт и запустить его на > машине-дестинейшн? > > Заранее спасибо за помощь.
did you try this command?
out_of_process_COM.exe /RegServer
|
| |
Да спасибо заработало частично. Сервер регистрируется, но не... 09.01.08 03:33
Автор: void <Grebnev Valery> Статус: Elderman
|
> did you try this command? > > out_of_process_COM.exe /RegServer
Да спасибо заработало частично. Сервер регистрируется, но не могу запустить его DCOM-мом.
XP prof SP2. В W2k + dcomcnfg проще получалось. Не пойму, может в пермишн дело?
|
| | |
в XP все тоже самое, запускаешь dcomcnfg и вперёд. 09.01.08 03:41
Автор: + <Mikhail> Статус: Elderman
|
> > did you try this command? > > > > out_of_process_COM.exe /RegServer > > Да спасибо заработало частично. Сервер регистрируется, но > не могу запустить его DCOM-мом. > XP prof SP2. В W2k + dcomcnfg проще получалось. Не пойму, > может в пермишн дело?
в XP все тоже самое, запускаешь dcomcnfg и вперёд.
Console Root->Component Services->Computers->My Computer->DCOM Config->My_COM_obj->Properties
|
| | | |
Не работает... Думаю, баг майкрософта снова. Сервер о... 10.01.08 03:38
Автор: void <Grebnev Valery> Статус: Elderman
|
> в XP все тоже самое, запускаешь dcomcnfg и вперёд. > Console Root->Component Services->Computers->My > Computer->DCOM Config->My_COM_obj->Properties
Не работает... Думаю, баг майкрософта снова. Сервер о котором речь - Excel 2007 COM RTD server, пусть он называется ExcelRTDServer. Локально работает нормально. Кроме того, В этом же модуле (.exe) - обычные COM объекты (например, DbRouter), методы которых вызываются легко DCOM-м из VBA того же Excel. Более того, если в конец интерфейса ExcelRTDServer дописать какой нить тестовый метод, типа Test(...), то он тоже работает на ура DCOM-ом. Т.е. дело, может и не в DCOM-e, как таковом. Потратил сегодня целый день. Придётся наверное отказаться от DCOM-а.
Рецепты майкрософта, http://support.microsoft.com/kb/285888, не помогают.
|
| | | | |
дак я не понял ето твой DCOM сервер или нет? Если твой то... 11.01.08 00:55
Автор: + <Mikhail> Статус: Elderman
|
дак я не понял ето твой DCOM сервер или нет? Если твой то причем тут Eхcel?
> > в XP все тоже самое, запускаешь dcomcnfg и вперёд. > > Console Root->Component > Services->Computers->My > > Computer->DCOM Config->My_COM_obj->Properties > > Не работает... Думаю, баг майкрософта снова. Сервер о > котором речь - Excel 2007 COM RTD server, пусть он > называется ExcelRTDServer. Локально работает нормально. > Кроме того, В этом же модуле (.exe) - обычные COM объекты > (например, DbRouter), методы которых вызываются легко > DCOM-м из VBA того же Excel. Более того, если в конец > интерфейса ExcelRTDServer дописать какой нить тестовый > метод, типа Test(...), то он тоже работает на ура DCOM-ом. > Т.е. дело, может и не в DCOM-e, как таковом. Потратил > сегодня целый день. Придётся наверное отказаться от DCOM-а. > Рецепты майкрософта, > http://support.microsoft.com/kb/285888, не помогают.
|
| | | | | |
Начиная в Excel 2002, майкрософт, специфицирует COM... 11.01.08 04:24
Автор: void <Grebnev Valery> Статус: Elderman
|
> дак я не понял ето твой DCOM сервер или нет? Если твой то > причем тут Eхcel?
Начиная в Excel 2002, майкрософт, специфицирует COM интерфейс Excel-ля MIDL_INTERFACE("A43788C1-D91B-11D3-8F39-00C04F3651B8") IRTDUpdateEvent и интефейс пользователя MIDL_INTERFACE("EC0E6191-DB51-11D3-8F3E-00C04F3651B8") IRtdServer для реалиции нового способа комменикаций с Excel комбинированной push/pull доставкой. В случае LPC, для COM - это отлаженная, удобная в программировании и весьма хай-перформанс технология. Excel проглатывает около 200 000 обновлений в секунду для 20 000 так называемых топиков. Вся эта технология месанджинга получила название ExcelRTDServer, http://support.microsoft.com/kb/327215, - очень распространена для финансовых приложений, где надо мониторить сотни тысячи быстро изменяющихся величин.
Майкрософт, как часто бывает в мире COM, специфицирует только интерфейсы.IRTDUpdateEvent и IRtdServer. Имплементацию COM надо делать самому. Так, что это мой COM.
Для COM (lpc) - проблем нет. Всё регистрируется и работает нормально. Для DCOM (rpc), у всего сообщества , как оказывается, возникает головная боль - в отличии от обычного DCOM, DCOM ExcelRTDServer требует огромных усилий по конфигурации, которая как оказывается будет ещё и разной в зависимости от версии Excel (чем больше секурити у новых версий Excel, тем труднее его заставить запускать DCOM (думаю, прокси COM на локальном хосте валится ещё до какого-либо маршалинга, когда например Excel видит Add-in без подписи).
Короче сегодня всй получилось, но с некоторой кривизной:
- пришлось отказаться от Excel 2007 (просто не работает, даже не поднимает удалённый процесс) и использовать Excel 2003
- пришлось использовать совершенно идиотские настройки DCOM, о которых нигде не написано, и трудно было б предположить (Authentication = none, Identity = the interactive user).
- соответственно исправлять ACL secutiry COM для моего RTD server.
Короче морока, и метод "тыка" с настройкой DCOM... Единственно, что упокаивает - прстота разработки и поддержки кода в будущем.
В любом случае, спасибо за мнение и участие.
|
|
|