⊙⊙⊙⊙⊙COM+问题(请COM+高手指点,菜鸟勿入)

nustchenhf 2002-07-30 03:21:46
用VC开发了一个COM组件(IDL文件里面定义了若干个结构体),并配置成COM+应用程序;
现在用VB作为客户端,通过CreateObject()创建远程对象;但是需要用到IDL文件中定义的结构体,请问怎样才行啊???

(想放120分还居然不行,呵呵。。。)
...全文
36 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhy207 2002-07-31
  • 打赏
  • 举报
回复
关于用CreateObject()的问题事实上并没有解决,若你在本地调用通过组件服务可以解决;有个更简单的办法,用regsvr32.exe直接注册一下便可引用。但是你要通过远程调用,好像没有办法进行引用操作。
sunbo 2002-07-31
  • 打赏
  • 举报
回复
试试UpdateBatch吧
nustchenhf 2002-07-31
  • 打赏
  • 举报
回复
sunbo说得没错,其实没有必要用CreateObject(),可以在VB中“引用”那个组件(在客户端安装在服务器上导出的COM+应用程序的安装程序后),然后New一个组件。
现在又有一个问题:再次请教诸位:
在组件的一个方法中,通过ADO向数据库增加一条记录,
(1)先前用进程内组件的方式能成功调用,且数据库中确实新增一条记录;
(2)但是,现在用COM+的方式,调用依然成功,但是数据库没有新增记录;(在Recordset中增加了一条记录,但是数据库中没有变化???)
我猜测是MTS的事务的原因,但是不知道真正的原因是什么???
我只用了m_spObjectContext->SetComplete();还需要注意什么细节问题???
请指点!!!
nustchenhf 2002-07-31
  • 打赏
  • 举报
回复
sunbo说得没错,其实没有必要用CreateObject(),可以在VB中“引用”那个组件(在客户端安装在服务器上导出的COM+应用程序的安装程序后),然后New一个组件。
现在又有一个问题:再次请教诸位:
在组件的一个方法中,通过ADO向数据库增加一条记录,
(1)先前用进程内组件的方式能成功调用,且数据库中确实新增一条记录;
(2)但是,现在用COM+的方式,调用依然成功,但是数据库没有新增记录;(在Recordset中增加了一条记录,但是数据库中没有变化???)
我猜测是MTS的事务的原因,但是不知道真正的原因是什么???
我只用了m_spObjectContext->SetComplete();还需要注意什么细节问题???
请指点!!!
nustchenhf 2002-07-31
  • 打赏
  • 举报
回复
这个问题我解决了。谢谢热心的网友们!
现在我想明白了,其实COM+应用和进程内组件可以做相同处理。“位置透明”!!!
天下云飞 2002-07-31
  • 打赏
  • 举报
回复
关注关注
sunbo 2002-07-30
  • 打赏
  • 举报
回复
“在VB端(通过CreateObject()创建远程对象)”
可以用 New yourRemoteCom的形式
sunbo 2002-07-30
  • 打赏
  • 举报
回复
既然是COM+应用程序,可以用控制面板的“组件服务”生成客户端的安装程序。
在客户端安装后,在VB中用“引用”引入COM+对象所在的类型信息,应该可以看到IDL文件中定义的结构;若不能,可能没有为结构分配GUID,在VC中重做。
nustchenhf 2002-07-30
  • 打赏
  • 举报
回复
??????
问题的关键是:在VB端(通过CreateObject()创建远程对象)如何引用IDL文件中定义的结构体?
deeping 2002-07-30
  • 打赏
  • 举报
回复
如果你是用ATL,那么你的组件中就已经包含了类型库了,在VB端注册一下你的组件或者其proxy(如果你没有merge 组件和proxy的话)。
nustchenhf 2002-07-30
  • 打赏
  • 举报
回复
再问:生成的类型库文件如何注册?谢过!!!
RickeyLau 2002-07-30
  • 打赏
  • 举报
回复
用midl将idl文件生成类型库文件,在客户端注册,并且配置dcom

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧