請問為什麼每次close() project時就會有錯誤訊息?? |
尚未結案
|
wun
一般會員 發表:19 回覆:20 積分:7 註冊:2002-08-24 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
引言: 大家好: 請問如果使用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();以上建議,請您試試看! ======================= 是非終日有,不聽自然無 天下本無事,庸人自擾之 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |