Posted on 2008-07-11 13:44
寒蝉 阅读(2830)
评论(0) 编辑 收藏 引用 所属分类:
各种错误异常解决集锦
在程序中调用GetDlgItem函数,编译后运行出现下面的错误:
Debug Assertion Failed!
Program: G:\程序\源程序\RTU\MonBUS\DEBUG\MonBUS.exe File: winocc.cpp Line:76 For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
常见问题:DoModal后调用GetDlgItem导致以上错误 产生原因:这时候窗口已经关闭,没有DlgItem一说 解决方法:在退出前保存为成员变量,Member Vari; 或者创建非模态对话框,指针可直接调用GetDlgItem()
GetDlgItem这个函数的含义要看上下文。 解析标识符时,首先扩展宏,然后判断是否存在当前类的同名成员,如果存在,那么就使用这个成员,否则按照查找父类。如果父类中多于一个类具有同名的成员,那么需要用类名::成员名区分。父类中如果也没有找到,那么查找全局
全 局的(在上下文是CWnd的成员函数时需要用::指明)的声明参见http://msdn.microsoft.com/library/en- us/winui/WinUI/WindowsUserInterface/Windowing/DialogBoxes/DialogBoxReference/DialogBoxFunctions/GetDlgItem.asp
CWnd的成员的声明在http://msdn.microsoft.com/library/en-us/dv_wcemfc4/html/aflrfcwndcolcolgetdlgitem.asp
|