私のプログラムはモードレス ダイアログを使用してユーザーと対話し、トレイ アイコンも備えています。ユーザーは、トレイ アイコンを使用してアプリをすぐに終了できます。
BOOL OnInitDialog()
{
init data...
}
void OnDestroy()
{
destroy data...
}
void OnSomeButton()
{
CFileDialog dlg;
...
dlg.DoModal(m_hWnd));
access data...
...
}
void OnMenuExit()
{
DestroyWindow();
}
問題は、モーダル ダイアログ ( ) をポップアップOnSomeButton
し、トレイ アイコン メニューを使用して終了すると、メイン ダイアログが最初に破棄され、次にモーダル ダイアログが返され、無効なデータにアクセスしようとしてクラッシュすることです。
データにアクセスする前にチェックコードを追加できることはわかっていますが、他に方法はありますか? ウィンドウが破棄される前に OnSomeButton() が返されるようにする方法はありますか?