DEBUG下的afxwin2.inl的错误
生活随笔
收集整理的這篇文章主要介紹了
DEBUG下的afxwin2.inl的错误
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
release模式下沒有問題。
debug模式下運(yùn)行會出現(xiàn)問題,但單步調(diào)試不會出現(xiàn)問題。
提示見圖片,然后崩潰。
?
提示在afxwin2.inl的41行。對應(yīng)位置代碼如下
| 1 | {?ASSERT(::IsWindow(m_hWnd));?return?::PostMessage(m_hWnd,?message,?wParam,?lParam);?} |
?
原因是窗口句柄在消息傳遞之前被關(guān)閉了。
這樣寫會出問題:
?????????CWnd*?m_Dlg?=?NULL; ????????????m_Dlg?=?FindWindow(NULL,?"來自網(wǎng)頁的消息"); ????????????if(m_Dlg)??? { ????????????????m_Dlg->PostMessage(WM_KEYDOWN,?VK_RETURN,?NULL); ????????????????m_Dlg->PostMessage(WM_KEYUP,?VK_RETURN,?NULL); ????????????????flag?=?1;?
應(yīng)該寫成:
?
HWND?hwnd?=?NULL;
????????????hwnd??=?::FindWindow(NULL,?"來自網(wǎng)頁的消息");
????????????if(?hwnd?!=?NULL)????{
????????????????::PostMessage(hwnd?,WM_KEYDOWN,?VK_RETURN,?NULL);
????????????????::PostMessage(hwnd?,WM_KEYUP,?VK_RETURN,?NULL);
????????????????flag?=?1;
?
?
afxwin2.inl其他問題類似,就看是提示哪個斷言錯誤,就找到該斷言,然后在前面增加對話空為空的防護(hù)即可。
總結(jié)
以上是生活随笔為你收集整理的DEBUG下的afxwin2.inl的错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌云端硬盘下载文件_如何使用Googl
- 下一篇: 海海软件DRM-X 4.0产品介绍