現在、MDIアプリケーションを開発しています。
新しいMDI子ウィンドウが作成されるたびに、その基になるデータがオンザフライでSQLiteデータベースに保存され、列open
がに設定される1
ため、ユーザーがプログラムを閉じて再度開くと、ウィンドウが復元されます(Anythingの場合も同様)。悪いTM)。
したがって、すべてのドキュメントは常にデータベースに存在します。ユーザーが[保存]をクリックした場合に発生するのは、列persistent
がに設定されていることだけ1
です。
これで、MDI子ウィンドウが閉じている場合、open
は-に設定され0
、すべての行persistent=0 AND open=0
が運命づけられて削除されます。
この動作の結果として、「ドキュメントを保存しますか?」と尋ねる必要はありません。ApplicationCloseで。
ただし、MDIの子ウィンドウを閉じるたびに質問する必要があります。以前に呼び出された
場合、それはすべて簡単に実行できますが、残念ながらそうではありません。Mainform.OnCloseQuery
MDIChild.OnCloseQuery
要約すると、呼び出された
かどうかを知る方法が必要です。MDIChild.OnCloseQuery
- アプリケーションがシャットダウンしている、または
- MDI子ウィンドウが閉じられています。
これを行う方法はありますか?