C++ MFC应用程序没有';升级到VS 2013后,无法再使用2003/XP
因此,我有一个SDI MFC应用程序,它在WindowsXP和Server2003上完美地工作 我不得不将项目更新为VS 2013,从那时起,应用程序无法再正确加载功能区 我必须将工具包设置为Visual Studio 2013-Windows XP(v120_XP),以便应用程序甚至可以加载到XP上,确实如此,但随后它无法加载功能区 我已经把范围缩小到调用LoadFromResource()失败(没有太多细节)。由于2003年不再是远程调试器的受支持平台,因此我无法进行太多调查 我也不能回到2010年,因为该项目利用了v120 CRT的功能,需要做很多调整 这是代码。如您所见,它可以创建功能区,但无法从资源中加载C++ MFC应用程序没有';升级到VS 2013后,无法再使用2003/XP,c++,visual-studio,visual-studio-2013,mfc,windows-xp,C++,Visual Studio,Visual Studio 2013,Mfc,Windows Xp,因此,我有一个SDI MFC应用程序,它在WindowsXP和Server2003上完美地工作 我不得不将项目更新为VS 2013,从那时起,应用程序无法再正确加载功能区 我必须将工具包设置为Visual Studio 2013-Windows XP(v120_XP),以便应用程序甚至可以加载到XP上,确实如此,但随后它无法加载功能区 我已经把范围缩小到调用LoadFromResource()失败(没有太多细节)。由于2003年不再是远程调试器的受支持平台,因此我无法进行太多调查 我也不能回到2
bool ribbonCreatedSuccesfully = ribbonBar_->Create((CWnd*) this);
if (ribbonCreatedSuccesfully)
{
ribbonBar_->RemoveAllCategories();
if (!ribbonBar_->LoadFromResource(IDR_RIBBON1))
{
^ fails here
该应用程序是静态链接的,可以在所有更高版本的平台(2008、Win7等)上正常工作
我知道要解决这个问题还有很长的路要走,但我希望有人可能遇到过类似的问题。这里的“失败”到底是什么意思?代码进入错误分支?应用程序崩溃了吗?代码进入成功分支,但控件不会显示?还有别的吗?但是,如果调用失败,您可以尝试从中转储错误代码。由于涉及MFC,因此不能保证产生可靠的值。如果MFC不修改错误代码,它可能仍然会给您一些有用的提示。结果是,我实际上有一个空的功能区。我将尝试GetLastError(),我当时认为它对我没有帮助。但如果这就是我的全部,那么我会尝试一下。谢谢,“这里失败”到底是什么意思?代码进入错误分支?应用程序崩溃了吗?代码进入成功分支,但控件不会显示?还有别的吗?但是,如果调用失败,您可以尝试从中转储错误代码。由于涉及MFC,因此不能保证产生可靠的值。如果MFC不修改错误代码,它可能仍然会给您一些有用的提示。结果是,我实际上有一个空的功能区。我将尝试GetLastError(),我当时认为它对我没有帮助。但如果这就是我的全部,那么我会尝试一下。谢谢