1. 程式人生 > >Debug Assertion Failed mfc140ud.dll

Debug Assertion Failed mfc140ud.dll

  

 

https://bbs.csdn.net/topics/392205617?page=1(論壇討論連結)

關於這個Assertion Failed 論壇上面有討論,但是都沒有給出一個明確的解決方法,只是籠統的說到控制代碼資源(對話方塊)的申請或者註冊沒成功。

 

 

 

既然網上也找不到一個適當的解決方法,自己也無能為力,最後想出了一招最原始,也最有效的方法。

再說我的方法之前先說明一下我的這個錯誤是從何時開始出現的:

由於這並非語法錯誤,出現這種執行時的錯誤比出現語法錯誤要噁心的多。

我在使用MFC的框架程式設計的時候,發現之前繼承的檢視類CView沒有視窗滾動功能,因此就在原始碼中把所有的CView換成了CScrollView,然後編譯執行(我當然知道這樣改很草率,我也做好了肯定會報錯,並且是很難恢復的錯誤的準備,因此,在這之前我還特地做了備份)。

結果程式編譯並沒有報錯,只是在執行的時候出現了這個鬼東西Assertion Failed!

沒辦法,把我的最原始有最有效地解決辦法搬出來吧:

我又新建了一個MFC框架的專案,這次他的基類不再是CView了,而是CScrollView,本來打算把原來框架中新增的程式碼也一併移植過去,但是想了想,還是想要把這個糾纏我很久的bug給解決,因此我一行一行的比對這兩個專案的框架有什麼不同,果然就發現了(如下圖),加上這幾行程式碼就不會有那個錯誤了。