问题!!!!!!!高手请进!!!!!!!!!!!!

keyou 2001-04-19 07:49:00
我的程序结构如下:
CWinApp
CMainFrame
CChildView CFrameWnd(5个类) CDialog CSocket(2个类)

我在CDialog里调用主框架的成员函数来退出程序,即调用
CMainFrame::ExitApp()
{
PostQuitMessage(0);
delete AfxGetApp()->GetMainWnd();
}
来退出程序;但是程序要很久才能退出来.还有就是,有时虽然我执行了ExitApp();但不能彻底退出程序,出现程序驻留在机器里,用VC的Process Viewer来观察发现,我的程序依然还在!!!更糟糕的事:在Process Viewer也不能杀死这个程序!!!!?????后来我想肯定是后面那一条语句delete AfxGetApp()->GetMainWnd();作怪,但不加上的话则不执行各个类的析构函数!!!!??????出现内存泄漏.高手帮帮忙了!!!!! :)

还有一个问题就是:我用new来分配动态空间时居然也会出现错误(在KERNEL)!!!(我用了2张位图做界面大小4M左右;5个CFrameWnd、2个CSocket和CChildView类总共7k左右,还有2个数据库!!!)我想问一问大家,windows操作系统给我们提供的堆内存有多少???栈的空间又是多少!!是不是1G呢????(我机器内存64k,硬盘10G).是机顶盒.

我在CMainFrame里用CFrameWnd继承的类来做菜单窗口,这样是不是很不正确呢!!!!!!???
...全文
63 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hopelion 2001-04-20
  • 打赏
  • 举报
回复
duz你好!谢谢你参与!!我知道你是个高手!!!!我看过很多你的帖子!!!我的是多线程程序,怎么退出主线程呀!(我现在用的就是postquitmessage(0))来退出。也试过exit(0))ExitApp()是我自己添加的退出应用程序的函数。我分别在主框架类里用过exit(0)和postquitmessage(0)来退出程序!还是出现我上面说的问题!!!我说的new出现问题不是说数组越界,而是在new时就出现错误!这个问题会不会是别的问题引起的????!
duz 2001-04-19
  • 打赏
  • 举报
回复
你使用了多线程?或者是你根本就没有退出主线程?
好像CFrameWnd没有ExitApp函数,是你自己定义的了?
问题也可能在于你调用了PostQuitMessage。
你是根本用不着调用PostQuitMessage的,调用
PostQuitMessage(0),将使你主线程的消息处理循环退出,因而在你删除你的主窗口时,DestroyWindow可能会失败(没有消息处理循环了)。

一帮来说,使用new出现错误是由于内存访问越界引起的。比如
p=new int[10];
p[-1]=1;就可能会引起这样的问题。
程序介绍: ◎前言:这是应一个MM的要求,搞了一个类似于知识库的系统,为了方便她快速搜索到需要的文章和问题答案,因此就做成了现在这样的搜索为主的cms,里面存放了大约3000篇以上的知识量,涉及到3大类10几个层面,涵盖了衣食住行、生活娱乐、电脑知识、动植物等,甚至是三国演义和西游记全篇,这个文件这么大,就是因为数据库内容太多了!不过这样大家一下下来就能用了! ◎特点:系统用了智能拆分关键字查询和分类别查询,主要就用到3个文件,包括一个错误提示页!后台可要可不要,自己掂量掂量看看是否需要就是! ◎设计:界面比较漂亮,完全是down 别人的,因为过年了,设计师都忙着回家,没空帮我,不过的确很不错,希望你会和我一样喜欢!logo和head 都留空,你可以自己进images修改它,想取什么名称就取什么名称, ◎安全:因为我也要回家过年,而且这本身就只针对MM个人电脑使用,本人没怎么认真对待,(惭愧~~~)但对于普通的菜鸟,应该是没问题的,如果你是入侵高手,建议自己在检测和修缮下,如果可以,到我们的论坛发表下! ◎其他:后台可以设置这个站点的名称和网站开关,也可以屏蔽指定的IP访问,由于我是拷贝CMS的config,因为没有删除其他的内容,(再次惭愧~~,)貌似没什么影响!如果你需要本地测试,建议把数据库备份,然后删除2500篇内容,不然会影响你测试速度,尤其是服务器配置不好的同志! ◎最后:本程序是小治技术社区的坏孩子作品,感谢社区的编程高手对本人给与技术上的指点!发布此版本旨在与众网友交流学习,整理过程中较为仓促,难免有疏漏,请大家提出指正。

16,548

社区成员

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

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

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