先说下思想:
     在SDI中,把view划分为了左右两个视窗,左视窗的view类是后来自己添加的view类(基类是CView),右边的视窗是SDI自动生成的view类,且这个view类承载了一个word显示的功能     我想在左边自己创建的view类中动态创建一个按钮(也就是代码创建啦),不知道什么原因就是运行报错。【同样的代码添加方式在空SDI程序下能够实现不报错】   调试的话,没有什么明显的错误,最后追踪到反汇编,也不知道是什么东东,就迷糊了...  实在不知道什么原因。
  

解决方案 »

  1.   

    //CMyView.h 
      CButton *m_pButton;
    // CMyView.cpp 
      
      // 构造函数中
       m_pButton = NULL;  //OnCreate函数中
       if(m_pButton == NULL)
    {
    m_pButton = new CButton();
    ASSERT_VALID(m_pButton); 
    m_pButton->Create(TEXT("Button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(0, 0, 100, 30),this,ID_BTN_TEMP); 
    } // 析构函数中
    if(m_pButton != NULL)
    {
    delete m_pButton;
    m_pButton = NULL;
    }
      

  2.   

    //CMyView.h  
    CButton *m_pButton;// CMyView.cpp  
       
    // 构造函数中
    m_pButton = NULL;//OnCreate函数中或者OnDraw函数中
      if(m_pButton == NULL)
    {
    m_pButton = new CButton();
    ASSERT_VALID(m_pButton);  
    m_pButton->Create(TEXT("Button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(0, 0, 100, 30),this,ID_BTN_TEMP);  
    }// 析构函数中
    if(m_pButton != NULL)
    {
    delete m_pButton;
    m_pButton = NULL;
    }