想請問各位大大一個問題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 )這個觀念是對的嗎?
謝謝!謝謝!