網站公告 :


Delphi K.Top討論區 » Win32 API 使用討論區(C++Builder) » 請問有關於Terminate() 與PostQuitMessage ( 0 )與ExitProcess(0)之問題
發表新文章
 
主題:請問有關於Terminate() 與PostQuitMessage ( 0 )與ExitProcess(0)之問題
瀏覽次數:1496
缺席
l90425
初階會員




發表:90
回覆:142
積分:46
註冊: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, 註解 無‧
------
-謝謝大大熱心的回覆!謝謝!


系統時間:2010-09-03 19:10:10,  線上使用者 255 / Max 3,401,主題數:92,416,回覆數:208,133。  聯絡我們 | Delphi.ktop討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!

趴趴狗旅遊網大花蓮旅遊網大花蓮民宿網花蓮市旅遊網花蓮市民宿網大南投旅遊網大南投民宿網
日月潭風景區日月潭旅遊網日月潭民宿網台東旅遊網台東民宿網集集旅遊網集集民宿網
關子嶺旅遊網關子嶺民宿網白河旅遊網白河民宿網
. . . . . . . .