我有一个简单的对话框,其中包含新的MFC浏览编辑控件。该控件使用成员变量向导链接到'CMFCEditBrowseCtrl m_edit'。向导生成的映射看起来很好。VS2010,MFCEditBrowseControl堆崩溃
在首次运行时,编辑控制被填充有中国类型的字符或有时问号,然后崩溃或者当浏览按钮第一次按下,或者一旦一个文件已被选择。
该应用程序崩溃与堆损坏失败。
当我创建一个新的测试项目并执行相同的步骤时,所有工作都正常 - 只有当我尝试在更大的较旧项目中实现浏览编辑控件并且升级历史约为VS2003 - > VS2005时, > VS2008 - > VS2010。
没有什么古怪的代码,我怀疑它可能有一些做项目的清单或一些其它的初始化指令/冲突。我已经复制并粘贴了测试项目中的CWinApp :: InitInstance代码,希望这可能会揭示某些内容,但行为仍然相同。
任何想法?
我与更新Microsoft Connect上的进一步信息此评论。不幸的是,将项目转换为Unicode的唯一解决方案仍然存在。 – Jonas 2012-12-18 12:06:56
经过一些进一步的调查,就在我放弃依赖此控件的代码时,我注意到一种解决方法可能不是将CMFCBrowseEditCtrl直接放置在对话框中,而是放置一个CEdit控件!然后在头文件中,用CMFCBrowseEditCtrl替换控件的成员可检索类型CEdit。我发现这个工作,因为我发现一些旧的代码也使用这种控制,运作良好。 – Jonas 2012-12-18 14:03:58