【MFC\Visial Studio疑难杂症】基于对话框的MFC启动项目生成对话框失败,错误值为-1!
01、问题
事情是这样的:在做项目的时候,要做一个小功能,就是打开文件夹,然后将选择的文件夹路径显示在界面控件上,并保存,等待下次启动软件,选择文件夹时,依旧能够定位到当前的目录,另外,我还在测一个关于匿名管道重定向bat脚本执行结果到RichEdit2控件上的问题。
界面如下图所示:
下面这个白色框框就是RichEdit2控件了。
当我定义完变量、改好ID、加载完消息处理函数、写好加载批处理功能时,我想运行看看效果,是否能够正确加载,然后就遇到了如标题所示问题:启动项目生成对话框失败,错误值为-1!
当时的我想当懵逼,但是不慌,我们断点调试之后,发现:
那就ok了,有了错误原因,现在有两种解决方案:
- 第一:GetLastError()函数,得到最后的错误码,然后查文档。
- 第二:直接网上找解决方案(我采取的这种),但是这种不一定有答案,因为涉及到各位语文功底,描述得到位还是不到位。哈哈哈哈哈!
02、解决方案
当然,最后也是不负所望,问题的原因被我熊某人找到了。
由于我们使用了一个RichEdit2控件,如下图所示:
就是因为这个控件,第一次使用,不知道使用他必须初始化,如下所示:
Ps:使用RichEdit2控件必须在InitInstance()函数里执行AfxInitRichEdit2()。才能成功生成对话框。
03、小结
最后问题解决了,当然是要写一篇bLog啦,我相信再好的记忆都不如写下来记得久。
搞开发,结果也许重要,但是达到结果的过程更为重要,上面的两种遇到问题的方法,只是一种参考,觉得好用就用,不好用就丢弃。
该文章为解决问题类博客,不涉及版权问题,欢迎转载,学习。