遇到一个MFC奇葩的问题

蓝兔先生 2014-05-08 01:09:52
#include "stdafx.h"

// 文档类
class CMyDoc : public CDocument
{

};

////////////////////////////////////////////////////////////////
// 视图类

class CMyView : public CEditView
{
DECLARE_DYNCREATE(CMyView)
DECLARE_MESSAGE_MAP()

public:
afx_msg int OnCreate( LPCREATESTRUCT );
};
IMPLEMENT_DYNAMIC(CMyView, CEditView)

BEGIN_MESSAGE_MAP(CMyView, CEditView)
ON_WM_CREATE()
END_MESSAGE_MAP()

int CMyView :: OnCreate(LPCREATESTRUCT lpcs)
{
return CEditView :: OnCreate(lpcs);
}

////////////////////////////////////////////////////////////////
// 框架类
class CMyFrameWnd : public CFrameWnd
{
DECLARE_MESSAGE_MAP()
public:
afx_msg int OnCreate( LPCREATESTRUCT );
};
BEGIN_MESSAGE_MAP(CMyFrameWnd, CFrameWnd)
ON_WM_CREATE()
END_MESSAGE_MAP()

int CMyFrameWnd :: OnCreate(LPCREATESTRUCT lpcs)
{
return CFrameWnd :: OnCreate(lpcs);
}

////////////////////////////////////////////////////////////////
// 应用程序类
class CMyWinApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
CMyWinApp theApp;

BOOL CMyWinApp :: InitInstance()
{
CMyFrameWnd* pFrame = new CMyFrameWnd();

CCreateContext cct;
cct.m_pCurrentDoc = new CMyDoc();
cct.m_pNewViewClass = RUNTIME_CLASS(CMyView);

pFrame->LoadFrame(IDR_MENU1, WS_OVERLAPPEDWINDOW, NULL, &cct);

m_pMainWnd = pFrame;

pFrame->ShowWindow(SW_SHOW);

pFrame->UpdateWindow();

return TRUE;
}

编译没问题, 怎么运行了 出这个错阿,而且窗口也没显示, 进程只能通过任务管理器结束


提示信息如下:
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\kernel32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\KernelBase.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\user32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\gdi32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\lpk.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\usp10.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\advapi32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\sechost.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\sspicli.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\cryptbase.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\comdlg32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\shlwapi.dll', no matching symbolic information found.
Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18201_none_ec80f00e8593ece5\comctl32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\shell32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\winspool.drv', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\imm32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\msctf.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\uxtheme.dll', no matching symbolic information found.
Loaded 'C:\Program Files (x86)\360\360safe\safemon\safemon.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\ole32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\oleaut32.dll', no matching symbolic information found.
Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\comctl32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\psapi.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\version.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\ws2_32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\nsi.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\netapi32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\netutils.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\srvcli.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\wkscli.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\dwmapi.dll', no matching symbolic information found.
Error: Trying to create object which is not DECLARE_DYNCREATE
or DECLARE_SERIAL: CMyView.
Warning: Dynamic create of view type CMyView failed.
Failed to create client pane/view for frame.
Warning: Window creation failed: GetLastError returns 0x00000000
Warning: failed to create CFrameWnd.
Loaded 'C:\Windows\SysWOW64\ole32.dll', no matching symbolic information found.

...全文
281 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kivien 2014-05-08
  • 打赏
  • 举报
回复
我也有过程序生成成功,但是窗口不显示问题。 我的解决方法,和上面说的差不多,把漏掉的那个部件在窗口内(一定要在它的Mo***【忘记名字了】函数之前)初始化 虽然没准确解决你的问题,但希望有帮助
Eleven 2014-05-08
  • 打赏
  • 举报
回复
class CMyView : public CEditView { DECLARE_DYNCREATE(CMyView) DECLARE_MESSAGE_MAP() public: afx_msg int OnCreate( LPCREATESTRUCT ); }; IMPLEMENT_DYNCREATE(CMyView, CEditView)
worldy 2014-05-08
  • 打赏
  • 举报
回复
BOOL CMyWinApp :: InitInstance()没有进行文档模板关联,并加入文档模板管理器
信阳毛尖 2014-05-08
  • 打赏
  • 举报
回复
引用 1 楼 rxguoblp 的回复:
目测BOOL CMyWinApp :: InitInstance()中没有将文档、框架窗口和视图进行连接
BOOL CMyWinApp :: InitInstance()中有将用作文档、框架窗口和视图之间的连接吗?
china_119 2014-05-08
  • 打赏
  • 举报
回复
SDI模板.
rxguoblp 2014-05-08
  • 打赏
  • 举报
回复
目测BOOL CMyWinApp :: InitInstance()中没有将文档、框架窗口和视图进行连接
蓝兔先生 2014-05-08
  • 打赏
  • 举报
回复
引用 1 楼 rxguoblp 的回复:
目测BOOL CMyWinApp :: InitInstance()中没有将文档、框架窗口和视图进行连接
虽然我没有将他们进行关联, 但是父类做了。看return
蓝兔先生 2014-05-08
  • 打赏
  • 举报
回复
引用 5 楼 VisualEleven 的回复:
class CMyView : public CEditView { DECLARE_DYNCREATE(CMyView) DECLARE_MESSAGE_MAP() public: afx_msg int OnCreate( LPCREATESTRUCT ); }; IMPLEMENT_DYNCREATE(CMyView, CEditView)
斑猪好眼里, 火眼金金送给你。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧