VC2005,MFC Dialog-based程序 如何退出

来源:百度知道 编辑:UC知道 时间:2024/05/31 01:36:30
RT。App类的InitInstance()中已经有:
CTestDlg dlg;
m_pMainWnd = &dlg;
dlg.DoModal();
return FALSE;
Dlg类里On_OK,On_Close,On_Cancel几个函数也都没有重写过。理论上只要这个函数返回了以后就可以退出程序了啊,但是我退出了对话框以后程序还一直在占用内存,非要强行结束运行不可。请问如何才能彻底将整个程序退出呢?
exit(0)与EndDialog()我都试过了,可以退出对话框,但是退出了以后程序并没有结束,在“任务管理器”里还能看到它占用了50%多的CPU和一堆内存……必须在任务管理器里强行终止进程或者在VC中选择停止调试才能够退出。如果不是以调试状态而是直接Ctrl+F5运行,会有“TODO:<文件说明>已停止工作”的提示。

在CTestDlg 里调用EndDialog()函数,随时可以关闭对话框。

“占用内存”是什么意思。InitInstance()函数,以 FALSE结束的话,甭说CTestDlg 定义的dlg实体,就连app也没了。

--------------------
InitInstance()函数,以FALSE退出,或以TRUE退出,是完全不一样的,你再学学这个地方吧。

可能是一些局部变量没有得到释放的关系。
用C语言下面exit(0);可以正常退出,但是有没有遗留问题就不清楚了。

-------------------------------------------------------------
不是很清楚~