AFX_IDP_PARSE_INT
是标准MFC错误消息的id(它在afxres.h中定义),但是在我的项目中它无法加载,这意味着LoadString
返回FALSE
,{ {1}}返回GetLastError
,CString保持为空。
即使我尝试在InitInstanse的开头加载它,也会发生这种情况:
ERROR_RESOURCE_NAME_NOT_FOUND
这个相同的代码适用于一个新项目,但是 - MFC的链接(我静态链接到它),同样的WINVER,我尝试使它与我的旧项目类似,但我无法重现错误在一个新开始的项目上。
答案 0 :(得分:0)
看起来您的资源无法正确构建。确保您的.rc文件也包含所有AFX资源。首先,我尝试从头开始构建一个全新的项目,测试加载字符串,然后看看默认的.rc文件是什么样的。
它应该包含一个名为'afxres.rc'的文件,即你的RC应该包含这样的内容:
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE 9, 1
#pragma code_page(1252)
#endif //_WIN32
#include "res\MyRes.rc2" // non-Microsoft Visual C++ edited resources
#include "afxres.rc" // Standard components
#include "afxprint.rc" // printing/print preview resources
#endif