2011-10-28 91 views
0

我想添加一个CMFCEditBrowseCtrl到从VC++ 6.0升级的项目。浏览模式设置为文件浏览但出现“Debug Assertion Failed ... File:f:\ dd \ vctools \ vc7libs \ ship \ atlmfc \ src \ mfc \ afxeditbrowsectrl.cpp Line 550”时,Browse控件可以正常工作浏览模式设置为文件夹浏览。当浏览模式设置为文件夹CMFCEditBrowseCtrl崩溃浏览

我还尝试将控件集保留在资源编辑器中的“文件浏览”中,并通过使用EnableFolderBrowseButton()函数将其设置为文件夹浏览。它导致同样的问题。

我在一个简单的示例应用程序中试过这个,它工作正常,所以我比较了两个项目的项目设置。我发现的唯一区别是在C/C++命令行中。崩溃的项目包含“/ D _VC80_UPGRADE = 0x0600”条目。我想删除这个,看看是否是问题的原因。我怎样才能做到这一点?这是问题的原因吗?

谢谢

回答

0

我猜你会有不同的WINVER。或者你的exe文件没有清单?

1

我似乎有同样的问题致电EnableFolderBrowseButton时,Google搜索和发现这个解决方案,它的工作:

http://connect.microsoft.com/VisualStudio/feedback/details/483908/enablefolderbrowsebutton-assertion-failure

我应该在网上搜索,直到再次发布多一点。这里是修复:

  1. 我有我的应用程序从一个CWinApp更改为CWinAppEx
  2. 我不得不到CWinAppEx::GetShellManager()一个电话插入到我的InitInstance()

它可以帮助别人,如果这是包括作为检查我引用的HowTo的东西。

+2

链接已死(而不是在archive.org上)。 –