美文网首页
VC6 CFileDialog 导致程序崩溃

VC6 CFileDialog 导致程序崩溃

作者: 肥树仙僧 | 来源:发表于2018-10-15 10:40 被阅读0次

    mfc的CFileDlg在VC6和更高版本的(个人使用的VS2008)使用上有所不同。
    在VS2008中,可以直接使用类定义一个对象。如下:
    CFileDlg dlg(xxx);
    但是,在VC6中,使用上述代码,会导致程序崩溃。
    解决的方法是使用new的方式创建对象。如下:
    CFileDialog* pDlg = new CFileDialog(xxx);
    具体为啥我也不是很清楚。但是网友总是棒棒的。在网上找一篇帖子【MFC中CFileDialog的问题,困扰我好几周了,各位帮忙看看!!!!】,当然贴主只是提问,问题的原因在#15。下面是#15原话:

    要new是因为MFC 6.0的bug,没有预估到Windows 2000会增加OPENFILENAME的大小
    7.0以上版本的MFC不用new
    基本上,如果Windows的资源管理器会崩溃的场合,文件对话框也经常会崩溃,所以要经常看是不是有KB2718841这样的补丁出来,或者是不是安装了Adobe PDF的文件预览插件。

    相关文章

      网友评论

          本文标题:VC6 CFileDialog 导致程序崩溃

          本文链接:https://www.haomeiwen.com/subject/jboxzftx.html