【发布时间】:2013-11-27 11:13:20
【问题描述】:
我有这个代码:
CMainFrame* pFrame = NULL;
fsnew1 (pFrame, CMainFrame);
m_pMainWnd = pFrame;
if (FALSE == pFrame->LoadFrame(IDR_MAINFRAME, WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, NULL))
{
DWORD err = GetLastError();// error code 1401 is returned
return FALSE;
}
在调试模式下,if 条件为假,因此没有错误,并且我的对话框框架成功加载。 但是在释放模式下,如果条件为真,因为 LoadFrame 返回假并且框架永远不会被加载。
可能是什么问题?
【问题讨论】:
-
1401 = 您的菜单句柄无效。
-
是的,我知道,但是是这样吗?它在调试模式下工作。
-
如果您担心菜单资源,试试这个。退出视觉工作室;删除与资源 (.rc) 文件同名的 .aps 和 .res 文件。打开视觉工作室并重建。
-
.res 和 .aps 文件是资源编译的副产品。他们与 .rc 文件中的实际内容不同步并不罕见,尤其是在手动进行修改而不是通过资源编辑器进行修改的情况下。删除这些文件将强制资源编译器重建它们,从而使它们重新同步。
-
@rrrower: 请把您的评论作为答案,以便其他成员可以看到
标签: c++ visual-studio-2010 visual-c++ mfc