突然“无法改变标准的MFC资源!”错误

时间:2016-12-18 23:59:37

标签: c++ visual-studio mfc resources

我有一个旧的MFC应用程序,我一直在使用Visual Studio Pro 2015(Update 3)进行更新。突然间,我开始收到以下错误。

enter image description here

当我尝试保存资源时,无论是对话框,功能区还是版本资源,都会发生错误。

发生错误后,我收到一条消息,提示无法保存文件,然后打开保存对话框,提供备用文件名/位置以保存 myapplication.rc 。如果我选择相同的文件,我会得到一个提示,说文件名已经存在,并询问我是否要覆盖它。如果我回答是,我会收到与以前相同的错误消息。

我几乎找不到有关此事的信息。显然,它在保存资源文件时遇到了问题,但为什么呢?任何提示赞赏!

1 个答案:

答案 0 :(得分:0)

原来问题是由于最近的变化。我添加了使用CDatabase访问旧MDB文件的代码。但是,当我尝试加载资源字符串以显示错误时,我在 dbcore.cpp 中收到错误。 ( MFC内部错误:无法从资源加载错误字符串。

在研究了这个之后,我通过在我的应用程序的RC文件中添加以下行来解决了这个问题。

// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#include "afxres.h"
#include "afxdb.rc" <------ ADDED THIS LINE HERE!!!

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

如果删除添加的行,那么我的问题就会消失。

不幸的是,这也意味着 dbcore.cpp 中的错误再次无法加载错误消息资源。所以我还有一个问题。但我发布了new question on that