我也有类似的问题 
从对话框1用 edit box 接收数据,传到下一个对话框2,用static text显示,开始程运行正常,数据能传过去。 
在后来的进一步开发过程中,我在对话框2中紧结着自己写了3个处理函数,之后就运行出问题了。经调试运行到传递数据赋值的语句时就,停了,报错: 
Unhandled exeption in Mapman.exe:0XC0000005:Access Violation. 
经过进一步调试,如果将赋值传递的那几句去掉,程序就能过去。 
请问,什么问题,怎么解决,我已尝试过修改变量名等

解决方案 »

  1.   

    好好,哈哈,
    //Lfin_RctpDlg.cpp
    //调LfinDlg对话框
    //传递 据数据
    CDialog::OnOK();
    CLfinDlg LfinDlg;
    MessageBox("CDialogok!");

    LfinDlg.m_Ftdw = m_Ftdep;
    LfinDlg.m_Ltdep2 =m_Ltdep;
    LfinDlg.m_Pwid2 =m_Pwid;
    LfinDlg.m_Boss2 =m_Boss;
    LfinDlg.m_Opr2 =m_Opr;
    LfinDlg.m_Sta2 =m_Sta;
    CString strTminfo;
    strTminfo= m_tmIndate.Format("%Y-%m-%d");
    LfinDlg.m_strIndate=strTminfo;
    CTime ctr_Tminfo=m_tmIndate; LfinDlg.DoModal();
      

  2.   


    如果是我,我会这样写:有两个对话框 CDialogA 和 CDialogBCDialogA dialogA;if ( dialogA.DoModal() == IDOK )
    {
      CDialogB dialogB;  // 在这里赋值
      dialogB.m_member = dialogA.m_member;  if ( dialogB.DoModal() == IDOK )
      {
        ...
      }
    }
      

  3.   

    调用 CDialog::OnOK(); 
    会把当前的对话框内容销毁, m_Ftdep, m_Ltdep,... 访问就会异常(出错)把CDialog::OnOK(); 放到最后试试
      

  4.   

    总结:变量,指针会引起这种unhandle exception/
    具体我的情况,不知什么时候"#include LfinDlg.h" 这个写错了,变成"#include LfinDlg1.h",好像以前这个CLfinDlg.C有过问题,重建一次,生成过一个LfinDlg1.h.
    谢谢,给我的指导。
      

  5.   


    调用 CDialog::OnOK();  
    会把当前的对话框内容销毁, m_Ftdep, m_Ltdep,... 访问就会异常(出错) 
    =============================================
    上面这句话有问题!对话框是销毁了,但变量还在,因为 C++ 对象的窗口对象还在。