什么可能导致LoadFrame返回false

时间:2018-01-19 18:42:19

标签: visual-studio mfc

目前的答案可能是我的问题 - 就像之前的提问者一样,我现在只是从20年前升级遗留代码。 2014年,Ryan McCloskey撰写了Window creation failed - LoadFrame(IDR_MAINFRAME) Fails C++     我不确定我有同样的问题。其他站点上还存在此问题的其他示例,在升级旧代码时总会出现,但每个人的解决方案都不同。     我无法进入LoadFrame代码,因为我收到错误xxxxx.dll'。无法找到或打开30个dll的PDB文件。当我使用一个全新的项目时,我没有收到此错误。     我从现有文件创建了这个项目""而且我想知道我是不是选择了我需要的选项,还是选择了一个我不应该选择的选项。

如果我的问题与McCloskeys先生一样,我需要知道:错误的库是什么,应该是什么样的库。我使用的是Visual Studio 2017,而不是2010年。一旦我确定要使用哪个库(假设这仍然是相同的问题,它确实看起来像),我如何在V.S中设置正确的库。 2017。

代码低于我的签名。

谢谢。

琳达

HWND  app_hwnd       = NULL;    
DWORD val_type       = REG_SZ;
char  path[MAX_PATH] = {NULL};
DWORD buff_size      = MAX_PATH;
CMultiDocTemplate *pDocTemplate;
    /* find running application, if any */
app_hwnd = FindWindow(NULL, CStrings::ServerAppTitle);


if(app_hwnd != NULL)
{
    /* application already running, generate warning and exit */
    ::MessageBox(NULL, CStrings::EMRunning, CStrings::Warning,
                    MB_OK | MB_ICONWARNING | MB_SYSTEMMODAL);
    exit(1);
}


#ifdef _DEBUG
    afxMemDF |= checkAlwaysMemDF;   // Check for memory overwrite.
#endif
AfxEnableControlContainer();    

UINT nIDResource = IDR_EMNTTYPE;

// we need to hold RDC template to force RDC creation at startup
pDocTemplate = new CMultiDocTemplate(
        nIDResource,
        RUNTIME_CLASS(CCMetRDoc),
        RUNTIME_CLASS(CCMRChFrm),
        RUNTIME_CLASS(CCMRView));
AddDocTemplate(pDocTemplate);


// create main MDI Frame window
CMainFrame* pMainFrame = new CMainFrame(this);

EM_ASSERT(pMainFrame);


if (!pMainFrame->LoadFrame(IDR_MAINFRAME)) {

1 个答案:

答案 0 :(得分:0)

对所有人来说,       我通过将我的代码与Visual Studio 2017创建的标准项目合并来解决我的问题。问题似乎出现在新的必需标准初始化中。因为,最终,我将摆脱用户界面,但现在需要一个最小的用户界面,我只使用生成的MainFrm和ChildFrm类,      当我在新项目目录中构建它时,我得到了许多与wchar相关的错误 - 我假设64位与32位问题。我通过将合并的文件复制到新目录并从现有文件创建项目来解决这个问题,因为结果符合我客户的需求。

琳达