CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

一个最简单的MFC程序都运行不起来

楼主flyswift(溺水鱼)2004-08-01 16:29:01 在 VC/MFC / 基础类 提问

#include   <afxwin.h>  
   
  class   CMyApp   :   public   CWinApp  
  {  
  public:  
  virtual   BOOL   IntiInstance();  
  };  
   
   
  class   CMyFrame   :   public   CFrameWnd  
  {  
  public:  
  CMyFrame();  
  DECLARE_MESSAGE_MAP()  
  };  
   
  CMyApp   theApp;  
   
  BOOL   CMyApp::IntiInstance()  
  {  
  m_pMainWnd   =   new   CMyFrame();  
  m_pMainWnd->ShowWindow(m_nCmdShow);  
  m_pMainWnd->UpdateWindow();  
  return   true;  
  }  
   
  BEGIN_MESSAGE_MAP(CMyFrame,CFrameWnd)  
  END_MESSAGE_MAP()  
   
  CMyFrame::CMyFrame()  
  {  
  Create(NULL,"MYAPP   Application");  
  }  
   
  这个程序我编译通过了,没有问题.但运行时什么都没有,于是我按F5运行,调试窗口中发现下面这句话:  
  Warning:   m_pMainWnd   is   NULL   in   CWinApp::Run   -   quitting   application.  
  这怎么会为空呢?请达人指点. 问题点数:20、回复次数:13Top

1 楼howtotell(从何谈起)回复于 2004-08-01 17:24:36 得分 0

用向导生成一个程序,看你缺少哪些东西.Top

2 楼shit748(我的未来都是梦!)回复于 2004-08-01 17:52:52 得分 0

为什么凭空手写一个就不行?Top

3 楼shit748(我的未来都是梦!)回复于 2004-08-01 17:53:24 得分 0

为什么凭空手写一个就不行?是不是在菜单里调整什么参数?  
  Top

4 楼BestBear(天外飞熊)回复于 2004-08-01 18:00:46 得分 0

#include   <afxwin.h>  
   
  class   CMyApp:   public   CWinApp  
  {  
  public:  
    virtual   BOOL   InitInstance();  
  };  
   
  CMyApp   theApp;  
   
  class   CMyFrame:public   CFrameWnd  
  {  
  public:  
    CMyFrame();  
  };  
   
  BOOL   CMyApp::InitInstance()    
  {  
  m_pMainWnd=new   CMyFrame();  
  m_pMainWnd->ShowWindow(m_nCmdShow);  
  m_pMainWnd->UpdateWindow();  
  return   TRUE;  
  }  
   
  CMyFrame::CMyFrame()  
  {  
    Create(NULL,"MYAPP   Application");  
  }  
  注注注:project->setting->general->Use   MFC   in   a   Shared   DLL(in   the   Microsoft   Function   Class   Combox)Top

5 楼yujia120(永不停息)回复于 2004-08-01 18:06:12 得分 0

缺少库文件或者头文件  
  看看选项里和自动生成的哪不同Top

6 楼BestBear(天外飞熊)回复于 2004-08-01 18:12:37 得分 0

注意看我上面程序最下面的注注注!!Top

7 楼PasserbyX(路人X)回复于 2004-08-01 18:35:00 得分 0

CMyFrame   MyFrameWnd;  
  m_pMainWnd=&MyFrameWnd;Top

8 楼110_110_110(急救)回复于 2004-08-01 19:02:27 得分 0

InitInstace;//write   carefully  
  m_pMainWnd=new   CMyFrame;  
  Top

9 楼mingbao(★情已逝★)回复于 2004-08-01 19:12:43 得分 0

删除构造函数中的Create(   )  
  因为此时你的框架对象还没有生成,无法创建窗口资源  
   
  m_pMainWnd   =   new   CMyFrame();  
                    m_pMainWnd->Create(NULL,"MYAPP   Application");  
   
  m_pMainWnd->ShowWindow(m_nCmdShow);  
  m_pMainWnd->UpdateWindow();  
  return   true;  
  Top

10 楼BestBear(天外飞熊)回复于 2004-08-02 08:23:47 得分 0

口说无凭  
  把上面的程序运行看看就知道了Top

11 楼flyswift(溺水鱼)回复于 2004-08-03 20:18:24 得分 0

好像还是不行啊..  
   
  你们可以在自己的机器上跑一下,我也不知道怎么我这里老不行.老说m_pMainwnd   is   NULL.  
   
  谢谢各位达忍了Top

12 楼steel007(小宝)(工作在windows和linux平台上)回复于 2004-08-04 10:59:33 得分 20

楼主笔误:  
  virtual   BOOL   IntiInstance();  
                            ~~~~~~~~~~~~~~~~此处应为InitInstance()  
  修改后,在vc6中编译通过,并可以运行Top

13 楼BestBear(天外飞熊)回复于 2004-08-04 12:23:16 得分 0

我是在我机子上通过了,我才贴出来的  
  难道是楼上所说的错误???????  
   
  狂晕!!!!  
  Top

相关问题

  • 我用vc建立一个控制台程序,支持mfc,程序很简单,但是运行出错,请大家帮我看看
  • 如何运行一个外部程序?简单的,不用api
  • 新手关于pb程序运行的小问题(简单!!!!)
  • 简单问题: java如何运行其它程序
  • 我的程序很简单,但就是运行有错误?
  • 为什么这个简单的程序运行没有结果?
  • 我的一个简单java程序不能运行。
  • 一个简单字符串程序,运行时错误
  • 为什么这段程序不能运行,很简单!
  • RMI简单程序,运行不了,帮忙看看

关键词

  • virtual
  • application
  • null
  • cmyframe
  • pmainwnd
  • cmyapp
  • intiinstance
  • 运行
  • updatewindow
  • ncmdshow

得分解答快速导航

  • 帖主:flyswift
  • steel007

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo