实在是没碰到过。debug编译的时候,完全还没问题的程序,release出来的程序,一个finish button一按,就致命错误。 问了一下,这类情况最有可能的是内存越界。但实在是没碰内存的东西,有关代码如下,务必帮忙!!!:==============  
void CAppointmentFrame::OnFinish()          <===就是这button
{
::SendMessage(m_page_hwnd[m_current_page],WM_FINISH,0,0); // TODO: Add your control notification handler code here
}
==============
============   在另一dlg内. 
ON_MESSAGE(WM_FINISH, f_Finish)
============
=============   ///  我什么都不输,他messagebox还是会跳出来,接着即使致命错误
void CAppointment_Case_Input::f_Finish()
{
UpdateData();
if(m_TITLE=="")
{
MessageBox("请输入案件标题");
return;
}
else if(m_WORKFLOW_TYPE=="")
{
MessageBox("请选择工作流类别");
return;
}
else if(m_DATE_TYPE=="")
{
MessageBox("请选择提醒类别");
return ;
}........
}
===============

解决方案 »

  1.   

    发现在消息处理函数里,一return 就出现问题。
      

  2.   

    你把消息改成
    LRESULT fun(WPARAM wParam, LPARAM lParam)返回一个值试试是不是你的清理内存的代码写在VERIFY  一段的代码里了?
      

  3.   

    我修改了返回类型,还是出错。已经在考虑是不是把debug版本丢给用户算了, 试了一下把参数修改成WPARAM......  居然ok了,真实鬼啊。
    给分,给分。   大家能不能告诉我是什么原因? 另算100分。