0
我有一箇舊的MFC應用程序,我最近更新了其中包含使用CDatabase
來訪問舊的MDB的代碼。MFC無法在dbcore.cpp中加載錯誤字符串資源
這有效,但是當發生內部錯誤時,我在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
這解決了這個問題。我現在得到了一個有意思的內部錯誤消息。但是,現在如果我嘗試使用資源編輯器保存資源文件,則會出現錯誤。
我怎樣才能獲得有意義的內部數據庫中的信息和仍然能夠將更改保存到我的資源文件?
您是否嘗試添加移動到targetver.h之後,而不是它在#ifndef APPSTUDIO_INVOKED塊?或嘗試將其移動到您的.rc2文件? (一般來說,MFC項目有一個YourProject.rc2文件(YourProject只是你的項目名稱的別名) –
@JoeWillcoxson:將它移動到RC2文件似乎工作,謝謝。 –