Posted on 2008-07-11 13:44
寒蟬 閱讀(2882)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
各種錯(cuò)誤異常解決集錦
|
在程序中調(diào)用GetDlgItem函數(shù),編譯后運(yùn)行出現(xiàn)下面的錯(cuò)誤:
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)
常見(jiàn)問(wèn)題:DoModal后調(diào)用GetDlgItem導(dǎo)致以上錯(cuò)誤 產(chǎn)生原因:這時(shí)候窗口已經(jīng)關(guān)閉,沒(méi)有DlgItem一說(shuō) 解決方法:在退出前保存為成員變量,Member Vari; 或者創(chuàng)建非模態(tài)對(duì)話(huà)框,指針可直接調(diào)用GetDlgItem()
GetDlgItem這個(gè)函數(shù)的含義要看上下文。 解析標(biāo)識(shí)符時(shí),首先擴(kuò)展宏,然后判斷是否存在當(dāng)前類(lèi)的同名成員,如果存在,那么就使用這個(gè)成員,否則按照查找父類(lèi)。如果父類(lèi)中多于一個(gè)類(lèi)具有同名的成員,那么需要用類(lèi)名::成員名區(qū)分。父類(lèi)中如果也沒(méi)有找到,那么查找全局
全 局的(在上下文是CWnd的成員函數(shù)時(shí)需要用::指明)的聲明參見(jiàn)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
|