MFC 无法在 dbcore.cpp 中加载错误字符串资源

MFC can't load error string resources in dbcore.cpp

我有一个旧 MFC 应用程序,我最近更新了它以包含使用 CDatabase 访问旧 MDB 的代码。

这有效,但是当发生内部错误时,我在 dbcore.cpp 中得到一个断言,它无法加载错误字符串资源。

经过一些研究,我将以下行添加到我的应用程序的 RC 文件中。

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

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

这解决了问题。我现在收到一条关于内部错误的有意义的消息。但是,现在如果我尝试使用资源编辑器保存资源文件,则会出现错误。

我怎样才能获得有意义的内部数据库消息并且仍然能够保存对我的资源文件的更改?

根据 Joe Willcoxson 的评论,将添加的行移动到我的 RC2 文件解决了这个问题。我现在拥有必要的数据库资源,而且我仍然可以在资源编辑器中编辑和保存资源。