當Form2關閉後, 無法正確刪除其動態產生的CheckBox |
|
joney
一般會員 發表:3 回覆:6 積分:1 註冊:2003-04-27 發送簡訊給我 |
程式流程是
Form1 => 在e1, e2 輸入數字 => 按下Button_a
show 出 Form2, 會動態在Form2上產生 e1*e2 大小的CheckBox 二維陣列元件
按下 Form2 中的 Button_OK, 會清除掉CheckBox 二維陣列的記憶體,並關掉Form2
如此循環 但情況是CheckBox沒清掉, 第二次的Form2在產生CheckBox 二維陣列時,
就會出現CheckBox 元件的名稱己存在的錯誤,到底要在那裏刪CheckBox 二維陣列才對呢?
又如果, 我的TCheckBox不是宣告為global變數, 而是放在Finction_X裏宣告, 要怎麼在別的function中去刪除這些元件呢?
附加檔案:29626_project.rar
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
在您的 code 中,把 delete 的部分放在:
void __fastcall TForm2::FormDestroy(TObject *Sender)
或
void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
其實都是不對的,應該放在 OnHide 事件就沒有問題了
void __fastcall TForm2::FormHide(TObject *Sender) 您應該設一下中斷點就可以發現原本的 code 中,按下 OK 時, FormDestroy 或 FormClose 都是不會被觸發的。等於您 new 出來的都沒有 delete 又要 new 一次那自然就不行囉。 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://big5.to/吃軟也吃硬 http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
joney
一般會員 發表:3 回覆:6 積分:1 註冊:2003-04-27 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 我依照了老師的方法,在 void __fastcall TForm2::FormHide(TObject *Sender) 中做了刪除的動作, 可是依然無效耶 CheckBox一樣沒刪掉, QQ 怎麼會這樣?不會吧... 那我把您的程式改好再放到求助區,我今天已經玩它玩很久了 <>沒空更新的網頁... href="http://big5.to/吃軟也吃硬">http://big5.to/吃軟也吃硬 http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
請參考:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29682 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://big5.to/吃軟也吃硬 http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |