0

我有一个 MFC C++ 程序,它偶尔会无缘无故地在错误退出时崩溃。我的具体查询如下:

在我的 InitInstance() 重载中,有各种检查,以及设置事件和信号量等资源。当用户请求正常退出时,有一个 OnDestroy() 消息处理程序会关闭所有内容,包括释放资源等。该位工作正常。

当 InitInstance() 中的一项检查失败并且函数返回值 0(导致程序退出)时,就会出现问题。我的问题是:在那种情况下,是否会自动调用 OnDestroy() 来清理内容,还是我需要在退出 InitInstance 之前自己运行它?

4

1 回答 1

0

如果一个主窗口窗口已经存在,你应该在之前使用 DestroyWindow 销毁它。不,当 InitInstance 以 FALSE 退出时,它不会自动销毁。ExitInstance 被执行,但现有窗口将在应用程序退出时关闭。

无论如何,当应用程序存在时,文件和内存等资源会被释放。

于 2017-02-18T12:56:04.860 回答