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给解决,因此我一行一行的比对这两个项目的框架有什么不同,果然就发现了(如下图),加上这几行代码就不会有那个错误了。

 

 

猜你喜欢

转载自www.cnblogs.com/xwmcc/p/10031314.html