我想在OCX控件A中,调用OCX控件B.
在使用B之前,要先Create,
iRet = m_B.Create( _T(""), lpCreateStruct->style, rc, this, 1);
在exe应用程序中,这样创建完就可以使用了.
可是在控件中就会有Access violation错误.
请高手指点一下,要怎样才能正确调用?

解决方案 »

  1.   

    在控件的什么位置创建的?this指针的m_hWnd是否是0?还有就是调用一下CoInitialize
      

  2.   

    在当前控件内创建,这个控件可以显示图片,
    还可以在图片上选择区域,
    使用我的控件的时候直接看到的就是我调用的控件的界面.
    this 的h_Wnd指针:0x00000000.
    谢谢..
      

  3.   

    在OnCreate或者PreSubclassWindow中创建,看看this->m_hWnd是否为0,非0则可以成功。如果都不行就在第一次OnPaint的时候创建。
      

  4.   

    OnCreate OnDraw OnPaint 里面调用都不行.
      

  5.   

    如果你创建的那个OCX是派生自CWnd,则需调用AfxEnableControlContainer();
    如不行另外再加入AfxOleInit()调用试试。