急,用Visual C++ 如何调用COM组件?

yousir 2000-06-03 01:58:00
本人用VB编写了一个COM组件,然后用Visual C++ 写了一个Service,现在需要在此Service中调用COM组件,把CoInitializeEx、CoCreateInstance、QueryInterface都用遍了,但还是没有什么效果,由于时间较急,请高手指点,最好能给出事例程序。谢谢!
...全文
478 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
deanjiang 2000-07-28
  • 打赏
  • 举报
回复
就像endlessing所提到的,vb便出来的组件是Automation组件,调用里面的函数必须通过
IDispatch接口。vb种的接口、类,与c++中的不是在一个层次上。
最简单的办法,如果你能用MFC的话,在Gellary菜单中vc可以为这个组件自动创建一个类,在class wizard中也可以。就和你在本地定义的类一样好用
土豆 2000-07-26
  • 打赏
  • 举报
回复
可以将这段VC原程序贴出来先看一看吗?要不然也不知道是怎么会事呀?
endlessing 2000-07-17
  • 打赏
  • 举报
回复
for the situation that client & server is not one computer, you can try following codes:
call CLSIDFromProgID to get relative class id
call CoCreateInstance to get the dispatch interface pointer for your component Interface
call GetIDsOfNames by your dispatch interface to get method id of some method named by you.
set parameters for your calling
call Invoke by your dispatch to triger your method with your method id & return your result.
lapple 2000-06-04
  • 打赏
  • 举报
回复
若在同一台机就好办了,有两种方法 1 到入TLB文件生成接口类,直接调用即可,2
用IMPORT 指令,但这个要多写几句,既然你很急就用第一中方法吧.
「已注销」 2000-06-03
  • 打赏
  • 举报
回复
请看#import的说明,我想对你有帮助.

3,245

社区成员

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

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