我在写一个ocx程序的时候需要导入另外一个ocx,是通过VC6.0菜单的project--add to project --components and control 这个菜单添加的,添加之后出现了ocx的新类然后关联相关的信息
BEGIN_EVENTSINK_MAP(CTestgetocx32Ctrl, COleControl)
    //{{AFX_EVENTSINK_MAP(CAgentOcxCtrl)
ON_EVENT(CTestgetocx32Ctrl,0, Event_TESTFUNC, OnHellobar,VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
等相关函数都是设置好的。
但调试的时候出现这个错误:
在int CTestgetocx32Ctrl::OnCreate(LPCREATESTRUCT lpCreateStruct) 
这个函数中我按照规定添加了
if(m_testocx31.Create(NULL,WS_VISIBLE,CRect(0,0,0,0),this,IDC_TEST31)==false)
return -1;结果执行到这句的时候就出错我要调用的ocx是没有问题的。

解决方案 »

  1.   

    BOOL CWnd::InitControlContainer()
    {
    TRY
    {
    if (m_pCtrlCont == NULL)
    m_pCtrlCont = afxOccManager->CreateContainer(this);
    }
    END_TRY在这里停住了
      

  2.   

    你没有把错误写出来,
    对这个调用:if(m_testocx31.Create(NULL,WS_VISIBLE,CRect(0,0,0,0),this,IDC_TEST31)==false)
    return -1;
    是不是可以改一下dwStyle,如为WS_CHILD,
      

  3.   

    在CWinApp的InitInstance函数中调用
    AfxEnableControlContainer( );
      

  4.   

    youqingsky(剑雨) 高手!我调了一个下午终于也是发现这个问题!~没想到啊。兑现承诺,剑雨在下面两贴也回一个,我把三贴分数都给你。
    http://community.csdn.net/Expert/topic/3817/3817450.xml?temp=.482815
    http://community.csdn.net/Expert/topic/3816/3816048.xml?temp=.9683649