解决方案 »

  1.   

     ediddlg->DestroyWindow();
     delete ediddlg;
    ediddlg=new CEdid ;
     ediddlg->Create(IDD_EDID,this);
     ediddlg->ShowWindow(SW_SHOW);
    代码简单粗暴,强行销毁Windows对象,然后删除与其关联的MFC对象,然后重新new出来,完全不讲逻辑,这些代码是在同一个If语句块里。
      

  2.   

    崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
      

  3.   

    因为我要间隔的刷新数据,CEdit类的数据写入放在该对话框的OnInitDialog()函数内。所以想不断的销毁对话框,然后在建立对话框,同时数据得到更新啊。
      

  4.   

    因为我要间隔的刷新数据,CEdit类的数据写入放在该对话框的OnInitDialog()函数内。所以想不断的销毁对话框,然后在建立对话框,同时数据得到更新啊。
    这是啥设计啊。你就只会在OnInitDialog中往文本框中写数据啊,再写个函数你就不会了啊?
      

  5.   

    看看堆栈,可疑地方打TRACE()或OutPutDebugString()打印信息,看挂在哪
      

  6.   


    因为我要间隔的刷新数据,CEdit类的数据写入放在该对话框的OnInitDialog()函数内。所以想不断的销毁对话框,然后在建立对话框,同时数据得到更新啊。
    这是啥设计啊。你就只会在OnInitDialog中往文本框中写数据啊,再写个函数你就不会了啊?
    是有些问题的,之后会去改进下的,之前想着放在OnInitDialog()函数会简便些,现在看不会啊