全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1277
推到 Plurk!
推到 Facebook!

當自己createform時用close和free和按下form右上的叉號有何差別?

尚未結案
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-05 15:40:52 IP:210.201.xxx.xxx 未訂閱
小弟自創form時用close記憶体比較不會出錯 但用form右上的叉號關form時就比較有問題請問 1當自己createform時用close和按下form右上的叉號有何差別? 2當自己createform時用close和free有何差別? 「堅持」從洗馬桶做起 Aric
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-06 00:25:04 IP:61.59.xxx.xxx 未訂閱
呼叫close..他函式裡面還是會呼叫release..然後是free..再來destroy..清除記憶體    online help提到 Do not call Destroy. Instead, call Release, which posts a CM_RELEASE message to the form. The handler for CM_RELEASE calls the Free method, which in turn calls Destroy.
------
星期一,二...無窮迴圈@@
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-06 13:27:23 IP:218.16.xxx.xxx 未訂閱
1. 其實分別不大 按form右上的叉號操作系統會先分析該按鈕,然後給一個 WM_CLOSE 的訊息給該 Form,引發 TCustomForm.WMClose 來呼叫 Close。 你程式直接呼叫 Close 就是跳過了上述部份,其他一樣。    2. Close 的程序
  1. 執行 onCloseQuery 事件決定是否可 Close;
  2. 按 FormStyle 的不同來預設不同的 CloseAction, 例如 MDI Child 預設是 minimize
  3. 執行 onClose 事件讓使用者可改 CloseAction
  4. 按確定的 CloseAction 來執行,可以是 minimize, hide, free 或 none (不做動作)
  5. 若是 CloseAction 是 Free 則執行 release,給一個 WM_RELEASE 訊息給 Form,引發 TCustomForm.WMRelease,呼叫 Free
直接呼叫 free 便跳過了上述的程序囉
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-07 12:08:04 IP:210.201.xxx.xxx 未訂閱
引言: 謝謝各位 < face="Verdana, Arial, Helvetica"> 「堅持」從洗馬桶做起 Aric
系統時間:2024-05-17 6:12:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!