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程序,为啥第一次运行一定要崩溃呢?