我用VB里写了一个ACTIVEX DLL;
其中,在VB中,Project Name是:XLCOM,Class Name 是:MyMSMQ
我在VB中调用该ACTIVEX DLL成功;
在VB中我是用:Dim AA as new XLCOM.MyMSMQ
但是在MFC中,我不知道如何去调用这个COM;谁能告诉我,怎样在VC中如何使用 ProgID来创建一个OBJECT?
其中,在VB中,Project Name是:XLCOM,Class Name 是:MyMSMQ
我在VB中调用该ACTIVEX DLL成功;
在VB中我是用:Dim AA as new XLCOM.MyMSMQ
但是在MFC中,我不知道如何去调用这个COM;谁能告诉我,怎样在VC中如何使用 ProgID来创建一个OBJECT?
你这倒过来。没有试过。 :D
用VC打开VB的XXX.TLB,就可以使用VB中的COM了
1、使用VC中的COM访问技术,如采用前绑定技术如下:
IDispatch::Invoke的方法:
IDispatch *pDispatch;
CLSID clsid
CLSIDFromProgID(L"XLCOM.MyMSMQ",&clsid);
HRESULT hr=CoCrateInstance(clsid,
NULL,CLSCTX_SERVER,IID_IDispatch,
( void**)&pDispatch);///////////如果使用方法Add(假设)
LPOLESTR lpOleStr=L"Add";
DISPID dispid;
pDispatch->GetIDsOfNames(IID_NULL,&lpOleStr,
1,LOCALE_SYSTEM_DEFAULT,&dispid);
...............
pDispatch->Invoke(dispid,IID_NULL,
LOCALE_SYSTEM_DEFALUT,DISPATCH_METHOD,
&dispaarams,&varresult,0,NULL); 2、采用ID绑定技术用VC Class Wizard 创建新类,从TLB中创建新类,
生成包裹类,
就可以使用VB中的COM 了