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

請問為什麼每次close() project時就會有錯誤訊息??

尚未結案
wun
一般會員


發表:19
回覆:20
積分:7
註冊:2002-08-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-05 22:07:53 IP:203.203.xxx.xxx 未訂閱
大家好: 請問如果使用TIdTCPServer元件和RAIdThreadMgrDefault元件..在Form->Close()前是不是要作什麼動作呢??因為現在每次我要close()掉Form結束Project Run時..都會出現stack overfollow的錯誤訊息..然後我把Close()寫在OnDestory() 時..又會出現"無效的視窗控制碼"..這是怎麼回事呢??謝謝
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-05 22:34:58 IP:203.204.xxx.xxx 未訂閱
引言: 大家好: 請問如果使用TIdTCPServer元件和RAIdThreadMgrDefault元件..在Form->Close()前是不是要作什麼動作呢??因為現在每次我要close()掉Form結束Project Run時..都會出現stack overfollow的錯誤訊息..然後我把Close()寫在OnDestory() 時..又會出現"無效的視窗控制碼"..這是怎麼回事呢??謝謝
wun, 您好 因為沒有看到您的程式, 我假設了以下的情形: (1)將Close()寫在OnClose的Event中, 會造成stack overfollow, 是因為一直執行Form->Close()這個動作, 也就是您的程式有無窮迴圈的情形, 所以才會導致stack overfollow。 (2)將Close()寫在OnDestory()中, 會造成"無效的視窗控制碼", 是因為在OnDestory()之前, 您已經將Form做過Close的動作了, 所以您再做一次Close(), 系統就會顯示"無效的視窗控制碼"。 程式可以做這樣的修改
 
if(Form->Visible==true)
   Form->Close();
以上建議,請您試試看! ======================= 是非終日有,不聽自然無 天下本無事,庸人自擾之
系統時間:2024-11-23 18:42:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!