線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3805
推到 Plurk!
推到 Facebook!

請問有關於Terminate() 與PostQuitMessage ( 0 )與ExitProcess(0)之問題

缺席
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-10 00:47:03 IP:59.125.xxx.xxx 未訂閱
想請問各位大大一個問題Terminate() 與PostQuitMessage ( 0 )與ExitProcess(0)那一種比較不會殘留資源,
再看完其他文章後本來覺得ExitProcess(0)比較好,
但是在ADOConnection1連線中,若使用ExitProcess(0)來結束時發生了一個問題,那就是Access 記錄鎖定資訊竟然還存在,
但用PostQuitMessage ( 0 )就會消失,
而且在看完某篇文章其內容為:

『是WM_DESTROY消息,它表示一個銷毀視窗退出應用程式的消息。也是每個程式所必備的。對於這個消息的處理方式就是通過調用
PostQuitMessage ( 0 )函數傳遞一個WM_QUIT消息,準備讓由GetMessage 、
TranslateMessage和DispatchMessage三個函數組成的消息迴圈中的GetMessage取得。當消息迴圈中的收到
WM_QUIT消息時,GetMessage會傳回0,從而結束消息迴圈。進而釋放各種資源,結束整個程式。另一個重要的地方是
DefWindowProc函數。我們的程式無論多大都不可能將所有的消息都處理,所以我們必須有一個機制讓不重要的不需要我們處理的消息,交 給windows作業系統為我們處理,這個過程就是由DefWindowProc函數來實現的。
因此當我們按下視窗右上角的差號或者按下左上角系統功能表中的Close命令時,系統會送出WM_CLOSE消息。通常程式的視窗函數不攔截 此消息,於是交由DefWindowProc函數來處理。DefWindowProc函數在受到WM_CLOSE消息後,調用DestroyWindow把視窗清除。
DestroyWindow又會送出WM_DESTROY消息。程式又如前面講到的一樣來結束程式釋放資源。』http://www.hkitn.com/print.php/2552

到底是用是哪一種方式會比較好呢?
而Terminate() 只是調用API PostQuitMessage ( 0 )
所以Terminate() 是一樣的PostQuitMessage ( 0 )這個觀念是對的嗎?
謝謝!謝謝!
------
-謝謝大大熱心的回覆!謝謝!
編輯記錄
l90425 重新編輯於 2008-09-10 00:48:07, 註解 無‧
l90425 重新編輯於 2008-09-10 00:51:15, 註解 無‧
系統時間:2024-12-23 0:32:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!