MFC创建非模态对话框的debug assertion failed问题
2016-12-28 10:01
513 查看
在MFC创建非模态对话框时,第一次点击菜单时可以生成一个非模态对话框,关闭以后第二次点击菜单时出现错误。
调试追踪问题:
首先如果是vc6的话:
1、按F5运行你的程序
2、在出错时,选择“重试”
3、按ALT+7调出“调用栈”窗口
4、双击从上往下的最近一个自己定义的函数,系统会自动把该函数所在的文件显示出来,此时程序暂停在光标处。一般来说错误就出在这附近。你可以通过查看变量的值来确认
问题原因:
非模态对话框是一次创建,之后点击oK或cancle之后对话框暂时隐藏,它的数据可以直接使用。
我的程序出现上述问题的原因是create()对话框放在了菜单的消息响应函数中,第一次点击是正常的,第二次又会再次创建对话框,这就造成debug assertion failed错误提示。
解决办法:
将create()函数放在初始化函数中,而不是放在消息响应函数中,做到创建一次即可。
调试追踪问题:
首先如果是vc6的话:
1、按F5运行你的程序
2、在出错时,选择“重试”
3、按ALT+7调出“调用栈”窗口
4、双击从上往下的最近一个自己定义的函数,系统会自动把该函数所在的文件显示出来,此时程序暂停在光标处。一般来说错误就出在这附近。你可以通过查看变量的值来确认
问题原因:
非模态对话框是一次创建,之后点击oK或cancle之后对话框暂时隐藏,它的数据可以直接使用。
我的程序出现上述问题的原因是create()对话框放在了菜单的消息响应函数中,第一次点击是正常的,第二次又会再次创建对话框,这就造成debug assertion failed错误提示。
解决办法:
将create()函数放在初始化函数中,而不是放在消息响应函数中,做到创建一次即可。
相关文章推荐
- 关于MFC中的Debug Assertion Failed问题的一种可能的解决方法。
- MFC中多线程中updatedata()遇到Debug Assertion Failed 错误
- 转载自〈Compubin的空间〉Debug Assertion Failed! dbcore.cpp line:2979问题解决(VC++用ODBC访问SQLServer)
- 注册activex控件时遇到的“DEBUG ASSERTION FAILED”问题
- Debug Assertion Failed!错误 关于m_File.m_hFile != NULL 和m_File.m_hFile != CFile::hFileNull 问题
- 出现问题"Debug Assertion Failed!"
- 关于MFC中CComboBox变量 运行 出错 Debug Assertion Failed!
- MFC学习笔记之VC++ Debug Assertion Failed! 错误(File: strex.cpp Line: 690)
- Debug Assertion Failed!问题怎么解决
- Debug Assertion Failed!错误 关于m_File.m_hFile != NULL 和m_File.m_hFile != CFile::hFileNull 问题
- MFC Debug Assertion Failed 错误
- Debug Assertion Failed!问题怎么解决?
- MFC程序出现“Debug Assertion Failed! File:dlgdata.cpp Line: 43 ”错误
- debug assertion failed! mfc/winocc.cpp line 381
- 【技术贴】MFC出错Debug Assertion Failed! File:afx.inl 122
- 切换视时基于FormView的对话框属性设置与ASSERT报错的问题 (Debug Assertion Failed!)
- MFC程序出现“Debug Assertion Failed! File:afx.inl Line:177”错误
- 切换视时基于FormView的对话框属性设置与ASSERT报错的问题 (Debug Assertion Failed!)
- MFC:“Debug Assertion Failed!” ——自动生成的单文档程序项目编译运行就有错误
- Debug Assertion Failed问题解决