MFC对话框程序,release模式下运行,没问题;debug模式下运行,一启动就报错:
null
debug assertion failed!
……..wincore.cpp line:972
![图片[1]-MFC程序运行时报错wincore.cpp line:972-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2019/01/wincore_cpp_line_972.png)
后来找到原因,如下:
界面上添加状态栏,在状态栏显示系统时间,开启线程每隔一秒更新一次时间,在线程中使用m_wndStatusBar.SetPaneText函数,编译通过,运行出错!
因为MFC是线程安全的,所以在线程中调用该函数更新状态栏会出错。
于是使用API来实现:
::SendMessageA(pDlg->m_wndStatusBar.m_hWnd,SB_SETTEXT,0,(LPARAM)TEXT(“xxxxxxxxx”));
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容