我目前正在開發一個MDI應用程序。
每次創建一個新的MDI子窗口,它被保存在飛行到SQLite數據庫和open
設置爲1
列,因此,如果用戶關閉程序並重新打開它的窗口也被恢復(也底層數據的時間如有任何問題TM)。
因此,每個文檔總是存在於數據庫中 - 如果用戶單擊「保存」,發生的唯一情況是列persistent
設置爲1
。
現在如果MDI子窗口關閉,open
設置爲0
- 並且persistent=0 AND open=0
的每一行註定並將被刪除。如何知道爲什麼'OnCloseQuery'被調用 - MDI子關閉或App關閉?
由於這種行爲,我不需要問「保存文檔?」在ApplicationClose上。
但是我做需要問每次一個MDI子窗口關閉。
如果Mainform.OnCloseQuery
將在MDIChild.OnCloseQuery
之前被調用,那麼這將很容易做到,但遺憾的是情況並非如此。
概括起來:
我需要一種方法來知道MDIChild.OnCloseQuery
是否被調用,因爲
- 應用程序被關閉,或
- 被關閉的MDI子窗口。
有沒有辦法做到這一點?
電腦不知道「爲什麼」他們知道,在這種情況下,哪個。哪個函數調用哪個函數。要知道哪些是應用程序的全局變量,在應用程序關閉時將設置爲「true」,並且您可以檢查它。這不是一個「delphi」解決方案,而是一個編程解決方案。 – none
當然。全局變量在應用程序關閉時設置爲「true」會很好。這就是我的意思,「如果使用Mainform,這很容易。OnCloseQuery'將被首先調用。 – Pharaoh