基于MFC的DLL怎么实例化一个ActiveX控件,该控件是基于CWnd类,我把他当成一个变通的类new 在调用的dll时出现bug,请商手帮忙解决!谢谢!

解决方案 »

  1.   

    BOOL CTestDllApp::InitInstance() 
    {
    // TODO: Add your specialized code here and/or call the base class
    /* if (!AfxOleInit())
    {
    AfxMessageBox("ole ³õʼ»¯´íÎó");
    return FALSE;
    }*/ AfxEnableControlContainer();//
    return CWinApp::InitInstance();
    }
      

  2.   

    extern "C" AFX_EXT_API UINT Init(CRuntimeClass** view)
    {
    new CDynLinkLibrary(GisMgrDLL);
    *view = RUNTIME_CLASS(CGisView);
    return(0);
    }将ActiveX放进CView类中,在CView::OnCreate中Create即可,在Dll接口函数中用new CDynLinkLibrary调用CRuntimeClass类,即动态加载你的那个view即可。
      

  3.   

    如果是直接调用ActiveX类,在App::InitInstance里初始化COM,
     CoInitialaze(); 
     AfxEnableControlContainer();