注册 登录
编程论坛 C++教室

为什么我的APP对像自动销毁了

ttkx888 发布于 2011-11-26 14:10, 2867 次点击
我自己设计了一个窗口,想让此窗口显示出来的可是窗口刚显示出来马上就消失了,请问下高手们应该怎么做才可以让此窗口显示出来不消失
呢? 直到我点了窗口右上角的叉叉关闭窗口时才结束进程。

  具体代码如下:

1,我用vs2008先创建了一个windows项目 名为:mi gong

2,创建了一个头文件 名为:mi gong.h  头文件里面包含了 #include<afxwin.h>

3,设置了项目 以静态方式访问MFC

4,新建了资源文件名为:mi gong.rc

5,添加了主程序类 mi gong app,代码如下:
class migongapp :
    public CWinApp
{
public:
    BOOL InitInstance();
    CWnd* okk;        ///添加指向主窗口类的成员指针
    migongapp(void);
    ~migongapp(void);
   
};

6,添加了窗口类 mi gong wnd,代码如下:
class migongwnd :
    public CFrameWnd
{
public:
    migongwnd(void);
   
    ~migongwnd(void);
};

并在构造函数中使用create函数创建一个窗体代码如下:

migongwnd::migongwnd(void)
{
    Create(NULL,"迷宫测试");
    ::AfxMessageBox("wnd对像创建成功");
}

7,然后在mi gong app 窗口中先创建了一个对像

  migongapp myapp;
 
然后从写InitInstance函数代码如下:

BOOL migongapp::InitInstance()
{
   
   
   
    myapp.okk=new migongwnd;            //在堆中新建了一个窗口对像交给migongapp类的成员指针OKK保存,同时调用migongwnd类的构造                                        //函数中的create函数来创建了一个窗口。
   
    myapp.okk->ShowWindow(m_nCmdShow);  //显示该窗口
    myapp.okk->UpdateWindow();          //更新窗口
   
    return true;

}

8,然后在migongapp的析构函数中添加delete okk; okk=NULL; //程序结束时释放对像空间

9,然后运行程序 此窗口刚刚显示出来就消失了 程序结束了,可是当我把OKK指针换成migongapp.m_pMainWnd指针的时候此窗口就不会消失 程序也不会自动结束了,代码如下:

BOOL migongapp::InitInstance()
{
   
   
   
    myapp.m_pMainWnd=new migongwnd;            //在堆中新建了一个窗口对像交给migongapp类的成员指针OKK保存,同时调用migongwnd
                                            // 类的构造函数中的create函数来创建了一个窗口。
   
    myapp.m_pMainWnd->ShowWindow(m_nCmdShow);  //显示该窗口
    myapp.m_pMainWnd->UpdateWindow();          //更新窗口
   
    return true;

}



   我的问题就是okk和m_pMainWnd 二个指针都是指向CWnd类的指针为什么我用OKK保存对像就不行,而用m_pMainWnd指针保存对像窗口就可以
就不会消失呢? 我是新手不要笑我哈。。。希望高手指点下 谢了!



来源: http://www.
60 回复
#2
ttkx8882011-11-26 23:48
回复 楼主 ttkx888
看在我写了这么多字的份上高手们告诉下我原因啊。。。。难道没有高手知道吗
#3
ttkx8882011-11-27 11:08
回复 楼主 ttkx888
实在是找不到原因了 百度了N次也找不到答案,就没有好心人帮忙解答下吗
#4
ttkx8882011-11-27 14:24
回复
唉 这个网站这么垃圾啊想请教个问题都二天了也没有一个人能帮忙解答下的失望
#5
rjsp2011-11-28 08:12
你用别人的框架,却不按照别人的要求来
#6
yuccn2011-11-29 12:20
这个了论坛的水平的确不是很高,不过也不至于你用垃圾把
#7
yuccn2011-11-29 12:30
BOOL migongapp::InitInstance()
{   
    myapp.m_pMainWnd=new migongwnd;            //在堆中新建了一个窗口对像交给migongapp类的成员指针OKK保存,同时调用migongwnd
                                            // 类的构造函数中的create函数来创建了一个窗口。  
    myapp.m_pMainWnd->ShowWindow(m_nCmdShow);  //显示该窗口
    myapp.m_pMainWnd->UpdateWindow();          //更新窗口
   
    return true;
}

在程序初始化好了的时候,myapp.m_pMainWnd 就已经是指向了一个视图对象了的,没有必要你去创建。这个有个错误


CWnd* okk;        ///添加指向主窗口类的成员指针
这个有什么要这个指针?这个是完全没有必要的

如果你是用vs建立起来的工程,你什么都不用做就是用它的向导就可以完成一个工程了。没有你动手增加那么多
#8
ttkx8882011-11-29 14:46
回复 7楼 yuccn
我想问的是难道不用系统自带的m_pManWnd指针是不是就创建不出来一个可以不消失的窗体呢? 为什么一定就得用继承过来的m_pManWnd指针来保存新建的窗体对像才可以让窗体显示出来而不是瞬间显示后就消失呢? 我想肯定有办法可以用自己新建的指针来保存新窗口同时也可以让窗口显示出来而不被析构掉的。。如果没有人知道怎么做 都是让我用系统自带的m_pManWnd指针来保存窗体的话就没必要再回贴了,因为根本就没懂我发这贴子的意义,我也知道用那个m_pManWnd指针可以正常让程序运行  但是我想请教的问题是我想建一个自己的m_pManWnd指针来保存窗体同时也达到窗体显示后不会被析构的效果 我相信程序是万能的这个小问题肯定有人能解决的了,如果没人可以解决这问题那只能说没有高手罢了 就让此贴沉了吧。。相信有一天我自己能解决这个问题的时候我再自己发代码上来/
#9
ttkx8882011-11-29 14:55
回复 5楼 rjsp
说白了我就是想知道系统是怎么利用m_pManWnd指针让窗体显示出来而不被析构掉的,我想学的是知识 而不是让别人牵着鼻子走 为什么都要按他们安排好的来做事? 我想学会的是他们是怎么做到这点的这才是我发贴的主要目的,望那些希望跟别人后面走的朋友不要回贴了,这个网站让我很失望 这么简单的一个问题几天了竟然都没有人可以搞定。
#10
yuccn2011-11-29 16:53
这个论坛不适合你这种菜鸟吧
什么都不懂,写什么程序
一边玩泥沙去
#11
yuccn2011-11-29 16:54
一副高调的样子看不出有什么学习的心态
#12
yuccn2011-11-29 16:56
不是没有人帮你解决不了,而是你自己连自己在做什么都不知道。
#13
ttkx8882011-11-30 00:16
回复 10楼 yuccn
看你个垃圾样吧 你懂你还在这装啥,我要是啥都明白还用发贴吗,你根本就是也不会还想装明白 告诉你绝对有人会利用自己的m_pMainWnd指针也把窗口保存下来 让窗口显示而不被析构掉的,像这样只会跟别人屁股后、面跑的选手我想你这辈子也做不到这点的
#14
ttkx8882011-11-30 00:17
回复 12楼 yuccn
真以为你自己懂很多呢 连我想求教的是什么问题都没有弄明白还在这装清高呢 真恶心
#15
ttkx8882011-11-30 00:20
回复 10楼 yuccn
我虽然是新手啥都不懂 但是也永远看不起你,你只会按别人安排好的东西去做事,也就是说你没有自己的大脑懂了吗? 高手有都是你等着这个贴早晚会有高手给解答了 到时你就一边凉快去吧 你要没这本事来解决我的问题最好就闭嘴 看你恶心知道不?
#16
ttkx8882011-11-30 00:26
我再声明一次 我想知道的是系统m_pMainWnd指针是怎么做到让窗口显示后而不被析构掉而瞬间消失了的,请那些回答不上来这个问题的垃圾一边凉快去吧,看着我恶心。我就不信这么大的一个论坛就没人能解决这问题的。。期待高手的出现 我想知道的是原理  那些啥也不懂还自命清高的人滚远点。
#17
ttkx8882011-11-30 08:50
回复 10楼 yuccn
我是新手我承认 不过我也不像你一样不懂装懂在这让人恶心,我发贴的目的是什么你都不懂还在这到处吠,再次声明下我想知道的是为什么我的OKK指针就不能让程序存活下来,而继承过来的m_pManWnd指针就可以让程序的窗口显示出来而不消失呢,这二指针类型都一样,我想学习的是m_pMainWnd指针的工作原理,那些不懂的就不要再来装懂了 让人反胃
#18
yuccn2011-11-30 09:35
回复 16楼 ttkx888
闭上眼睛写的程序你都看不懂,你还是回家耕田去吧,你成不了大气的。

屁大的事情都不懂,问什么问
#19
yuccn2011-11-30 09:37
回复 15楼 ttkx888
可以明确的告诉你。你的确是个废柴。这样的小事问什么问,回家问候你妈去吧。。
#20
yuccn2011-11-30 09:38
回复 16楼 ttkx888
这样的问题像你这样清高,没有一点学习心的人,看来你的水平也就局限于这么多了。。

你能说说你自己想做什么吗?连自己想做什么都不知道,在这放什么屁?熏》》》》
#21
yuccn2011-11-30 09:39
回复 16楼 ttkx888
还是好心劝你一句,程序不适合你 ,不要浪费你爸妈的钱财了,回家耕田去。
#22
ttkx8882011-11-30 12:01
回复 19楼 yuccn
我会没事就上来问候你妈妈的,操你妈的把你电话号留下来 我先把你废了 你要是人养的把你电话号告诉我下,你他妈的根本就解决不了这个问题还在这装你妈个比啊,有本事你来解答明白了 我就服你 要不然你给我滚你妈屁眼里面呆着去 操你妈的留下你电话号或地址来
#23
ttkx8882011-11-30 12:03
回复 21楼 yuccn
操你全家的 是男人你留下电话号来,我把我电话号给你了 要不然你打我电话过来。看我怎么废了你去的,我电话号我发信息给你了 操你妈的到时看下我俩谁在现实中是废物,你在这和我装你妈个比。
#24
ttkx8882011-11-30 12:05
回复 21楼 yuccn
总以为你自己懂很多 你要真了不起就不会天天泡在这论坛了 操你妈的看你个熊样吧,来把孙子你的电话或联系方式留下来
#25
ttkx8882011-11-30 12:07
回复 19楼 yuccn
操你妈的你要不留下你电话我天天上这论坛一天骂你十次,你要有种就留下电话和地址 看我去不去废你,声明下谁要知道这个狗比的电话就发信息告诉下我 有奖励,谢了
#26
大剑2011-11-30 12:18
回复 21楼 yuccn
我打开的时候就是第二页  我还小小奇怪了一组怎么只有个主题? 就是不了解情况 收回我说过的话 虽说收不会来  但我还是想说看在以前没有混过论坛的份上 你就当我没说过 不要介意。

[ 本帖最后由 大剑 于 2011-12-1 21:25 编辑 ]
#27
ttkx8882011-11-30 12:23
回复 26楼 大剑
大家不用理这个垃圾,他看不起新手的,只要新手发的问题他感觉可笑他就会埋汰你  让你不要发贴回家种田了,操他全家的我们新手要是懂的话还用来发贴吗? 你不让我们发贴也可以 那你说出来为什么我们的贴子不行,可是他这个狗比根本也不懂 也解决不了这个问题,只会按着他爷爷给他留下来的工具去办事的,谁要是想自己用新工具去做活的话他就会说你啥也不懂了  这个小飞侠就是白痴,操他全家的。
#28
ttkx8882011-11-30 12:26
回复 21楼 yuccn
操你个狗娘养的我把我电话号发信息给你了,你要有种就打过来吧,或是留下你电话号和地址 看我怎么教训你这个有娘生没娘教的自以为是的垃圾的
#29
cosam2011-11-30 12:31
哎。
#30
yuccn2011-11-30 14:33
回复 26楼 大剑
谁都是不会到会的,不过你看下楼主是什么学习的态度?

动不动就论坛是垃圾,你不觉得这样的废材可恶吗?
#31
yuccn2011-11-30 14:33
看到这种人 我便知道了什么是垃圾和人渣
#32
yuccn2011-11-30 14:37
本人声明一下,我没有太多的时间处理楼主这种垃圾

如果楼主想继续浪费他爹妈的钱财,就死去吧
不然,早点回家捡垃圾去
#33
yuccn2011-11-30 14:37
连1+1都不懂了,学什么编程?吃屎去吧。浪费你他妈的爹娘的钱财
#34
yuccn2011-11-30 14:38
看你这种人 一定就是白读书白混的那种了。。为什么不早点投胎,对你有好处
#35
yuccn2011-11-30 14:39
垃圾 你都不如
#36
yuccn2011-11-30 14:40
还是少碰你这种垃圾好点。。臭
#37
yuccn2011-11-30 15:19
本人手机号码15002446668,有种你就打电话来吧
#38
yuccn2011-11-30 15:22
本人手机号码15002446668,有种你就打电话来吧
没有种就别装b
#39
ttkx8882011-11-30 15:24
回复 32楼 yuccn
操你妈的你懂 你懂你怎么解答不了这个问题 只会按你爷给你留的路子去做事呢,你真不是个男人 我把我电话号给你了 你打过来啊,如果你现实中很穷没钱的话把你电话号和地址给我留下来,操你妈的我让你知道什么叫垃圾,你个畜生养的东西就是欠骂
#40
ttkx8882011-11-30 15:27
回复 38楼 yuccn
我草死你妈妈的你给你爷我留个空号,你真没种,大家都打下他留的这电话号吧 看下这人有多垃圾,草你全家十八代的 你有种留你真的电话号或地址来,你个没种的货。就会留个假电话号,真他马的垃圾
#41
ttkx8882011-11-30 15:30
回复 36楼 yuccn
草你妈的 你根本就解答不了我的问题还在这装你啥都懂呢,看你个孙子选手有多本事啊 留个空号给你爷爷,是男人就把你真的电话号和地址留下来 我操你全家的。
#42
yuccn2011-11-30 16:19
回复 40楼 ttkx888
本人手机号码15002446669,有种你就打电话来吧
没有种就别装b

不打来就回家耕田去吧
#43
yuccn2011-11-30 16:19
15002446669,有种你就打电话来吧
没有种就别装b

不打来就回家耕田去吧,不用在这哭了
#44
yuccn2011-11-30 16:20
(后面一个数字)
本人手机号码15002446669,有种你就打电话来吧
没有种就别装b

不打来就回家耕田去吧
#45
ttkx8882011-11-30 16:55
回复 44楼 yuccn
草你妈的就会给你爷爷我假电话号,你真不是个男人  相信大家都看明白你是个什么鸟人了,你有种直接用你电话打我手机号进来吧,我手机号你也知道,别总弄这垃圾假号来丢人,你真不配做人
#46
ttkx8882011-11-30 16:59
回复 44楼 yuccn
小飞侠你个狗比你要是没钱打长途就用你电话晃下我的手机号,我给你打回去 ,你个小兔崽子就欠收拾你知道不?现实中你也就是个小瘪三 我想大家都都能看明白了,你个垃圾货。
#47
yuccn2011-11-30 17:57
你真打电话了啊,妈的你这鸟人真的是有空,之前发给你的是你们市政府的电话,没有想到是空号了,哈哈

玩你这种人就是爽。一副傻乎乎的样子

给电话给你这种无所事事的人 只会吃屎的人不是无事找事?你真的没有资格知道老子的电话。(以你的智商就理解成我不敢行了,老子怕怕哦!@!#^_^)


问你个简单的问题,你知道Dos原理吗?你了解什么是透明加解密吗?你写过木马吗?如果你都回答否,那么闭上你那个 吃屎的 嘴巴,回家吃屎去。


现在大家都看到谁是垃圾啦?

再ps一句:老子真的没有空去扫垃圾
#48
ttkx8882011-11-30 18:20
回复 47楼 yuccn
操你妈我是新手我承认,可我不像你不懂还在这装清高 装你妈个比啊,连你电话都不敢报上来 你是不是和你爹一样天天装龟啊? 哈哈 以后一天来论坛问候你全家几次,看你个垃圾样吧  老子就是时间多,问候你全家的时候更多,特别是问候你母亲。
#49
yuccn2011-11-30 18:37
看得出你就是这样的人,在家没有事情做就问候妈妈对吧

哈哈。。

#50
ttkx8882011-11-30 19:38
回复 49楼 yuccn
我没事就草你奶奶玩了,小飞侠我又来草你奶来了,你个死比孩子就是欠骂 ,真以为你自己有多牛比呢 其实你狗屁不是
#51
ttkx8882011-11-30 19:39
回复 49楼 yuccn
小飞侠快回去把你妈妈喊来,我草完你奶再草你妈,然后再教训你这个不孝的孩子哈哈
12