我想VB编的COM DLL应该支持双接口,因为晚绑定(IDispatch)就是为了支持象VB,
JAVA这样不支持指针的语言的,所以我认为他应该支持
JAVA这样不支持指针的语言的,所以我认为他应该支持
解决方案 »
- udp和tcp的区别?
- 额啊啊,受不了!关于应用程序打包问题,再发一贴求助
- vc 如何取得系统中的各种硬件的id和对应的驱动信息(版本,兼容性等)
- 各位老大帮我看看了!
- 准备系统的学习mms,请大家给一个建议
- 强答题:请听好题"请问如何在可编辑的列表框中显示你想输入的字符串,而且可以输入多行?",开始!
- 大家编vc,都是用wizard的?
- 为什么为什么为什么我总是碰到这样的问题?下面的代码为什么一点作用都没有。
- 如何让程序启动的时候慢点
- msdn的网站怎么用?我怎么总看不懂他的结构?大家都怎么在上面找资料的??
- 有谁知道installshield哪里有下载?在上海哪儿有买?急!急!!
- CSDN!CSDN!CSDN!CSDN!!!!!!难道没有人回答我吗?
现在我用VC编写了一个Client,调用这个COM DLL.
用导入类(Class Wizard...)的方法,可以调用这个COM DLL的方法. 但跟踪发现,这种调用是通过
IDispatch->Invoke()实现的. 我的问题是, 是否可以在VC中用普通接口方法(vtbl), 实现访问VB编写的COM DLL的method, 例如实现如下形式调用:IVBClass *pIf = NULL;
CoCreateInstance(
... ...
IID_IVBClass, // Interface ID to create
(LPVOID*)&pIf);pIf->Method1(); 我该如何从VB编写的COM DLL中引出接口定义类 IVBClass ?不胜感谢
实际上vb在编译Active DLL时接口都是基于IDispatch接口的,而对于用户自定义接口或者multiuse类的public method都是调用了IDispatch的Invoke()方法来调用用户的自定义方法。使用微软自带的OLE View工具看一下VB编译Dll生成的Tlb文件就会明白了。