COM接口指针从MFC ActiveX控件返回null

时间:2013-07-26 20:59:39

标签: dll com interface mfc activex

我是COM dll的新手。我有dll和.tld文件和文档,它描述了dll公开的方法,classId。我尝试使用VS 2008独立项目跟踪程序,并能够初始化并成功调用方法。但是当我放入MFC ActiveX控件项目(在特定按钮上单击)时,下面的代码,它不工作和崩溃。调试时发现m_pInterface在“comip.h - Native C ++编译器COM支持 - COM接口指针头”中为空。

有人可以告诉我为什么吗?我需要在以下代码中添加/修改以便从MFC ActiveX项目调用。

HRESULT hResult = CoInitialize(NULL);
CLSID ClassID;

if(SUCCEEDED(CLSIDFromProgID(OLESTR("WorldClass.AssetManager.1"), &ClassID)))
{
    IDispatch *pDispatch;
    if(SUCCEEDED(CoCreateInstance(ClassID, NULL, CLSCTX_INPROC_SERVER,
            IID_IDispatch, (void **)&pDispatch)))
     {
    //call dll methods here

     }
}
CoUnInitialize();

0 个答案:

没有答案