MFC编程中,程序运行,若关闭对话框 ,程序会崩溃.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC编程中,程序运行,若关闭对话框 ,程序会崩溃.相关的知识,希望对你有一定的参考价值。

CEdit定义的对象与编辑框控件手动关联(没有手动解除关联),

参考技术A 试一试把生成的可执行文件所在目录里的文件全部删除,之后重新编译运行。 参考技术B 关闭就失败,是弹出的对话框,还是你的项目就是对话框项目
首先确保 主体没错,然后看看你的析构函数是否释放错误追问

谢谢你的回答,我就是通过CEdit 定义一个对象。如editTest,用editTest.Attach函数与一个edit控件关联的。这个对象是在一个对话框类中定义的成员变量。不是通过ClassWirzard中关联的控件。程序中我没有手动通过editTest.Detach()手动解除关联。运行后若关闭对话框就崩溃了。就是想问为什么非要手动解除关联呢?对话框关闭,它跟着结束就是了啊。为什会崩溃呢?麻烦了。

参考技术C 关联方式不对,你怎么关联的?追问

谢谢你的回答,我就是通过CEdit 定义一个对象。如editTest,用editTest.Attach函数与一个edit控件关联的。这个对象是在一个对话框类中定义的成员变量。不是通过ClassWirzard中关联的控件。程序中我没有手动通过editTest.Detach()手动解除关联。运行后若关闭对话框就崩溃了。就是想问为什么非要手动解除关联呢?对话框关闭,它跟着结束就是了啊。为什会崩溃呢?麻烦了。

追答

对话框 销毁时,edit也会销毁,所以edit句柄就不存在了。
但是你的这个editTest析构时,又做了一次销毁,所以就发生崩溃。

追问

原来如此,明白了。谢谢你。

本回答被提问者采纳

以上是关于MFC编程中,程序运行,若关闭对话框 ,程序会崩溃.的主要内容,如果未能解决你的问题,请参考以下文章

用vs2008编译器,创建一个MFC程序,为啥第一次运行一定要崩溃呢?

MFC禁用关闭按钮

如何在 Visual Studio 中禁用基于对话框的 MFC 应用程序的自动关闭?

MFC编程的时候怎么打开一个程序的同时关闭当前程序?

MFC模态与非模态对话框

如何实现:MFC编程,对话框内按钮动作实现退出应用程序?