У меня есть старое приложение 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
Это решило проблему. Теперь я получил осмысленное сообщение о внутренних ошибках. Однако теперь, если я пытаюсь сохранить файл ресурсов с помощью редактора ресурсов, я получаю сообщение об ошибке.
Как я могу получить значимые внутренние сообщения базы данных и еще быть в состоянии сохранить изменения в моем файле ресурсов?
Согласно комментарию Джо Уиллкоксона, перемещение добавленной строки в мой файл RC2 решило проблему. Теперь у меня есть необходимые ресурсы базы данных, и я все еще могу редактировать и сохранять ресурсы в редакторе ресурсов.
Других решений пока нет …