【问题标题】:VS2010 LoadFrame fails with error 1401in release modeVS2010 LoadFrame 在发布模式下失败并出现错误 1401
【发布时间】: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


【解决方案1】:

根据 cmets 的要求...

.res 和 .aps 文件是资源编译的副产品。他们与 .rc 文件中的实际内容不同步并不罕见,尤其是在手动进行修改而不是通过资源编辑器进行修改的情况下。删除这些文件将强制资源编译器重新构建它们,从而使它们重新同步

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-26
    • 2021-06-12
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多