描述:
如何用VC++6.0调用VB开发的COM dll动态链接库(最好举例说明!)
------------------------谢谢!!
解决方案1:
#include <altbase.h>
#import "..\***.dll" no_namespace
CoInitialize(NULL);
{
CComPtr<IUnknown> spUnknown;
spUnknown.CoCreateInstance(__uuidof(CXXX));
CComPtr<IXXX> spXXX;
spUnknown.QueryInterface(&spXXX);
// todo...
// spXXX->getXXX();
}
::CoUninitialize();
vb不能制作dll吧
用vb可以调用vc编写的这些东西。
#import "D:\Temp\vc\simpCOM\Debug\simpCOM.dll" no_namespace
CoInitialize(NULL);
{
IFooPtr spFoo = NULL;
spFoo.CreateInstance(__uuidof(Foo));
spFoo->SayHello();
}
CoUninitialize();
这种方法不行吗?
regsvr32先把动态库给注册了,然后当普通COM interface调用即可
解决方案5:和普通调用VC写的COM没有什么区别吧,只是可能只能通过IDispatch接口调用。应该是通过GUID获得VB写的COM DLL的相关信息吧。