關於對一個Form執行Action=caFree的疑問 |
尚未結案
|
ENIX007
高階會員 發表:28 回覆:274 積分:185 註冊:2003-11-27 發送簡訊給我 |
各位好:
基於以下二篇的討論串,對於一個Form執行了
Action=caFree後,還能不能執行Form1=NULL,
請見以下連結:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44564
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=46154
由於小弟也常常使用Form1=NULL這種用法,如果真的有問題,如海星大哥
所說,那真的很可怕(很難抓問題點)
想請教各位看倌這方面的心得 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~ |
kwu
中階會員 發表:10 回覆:57 積分:58 註冊:2003-10-31 發送簡訊給我 |
ENIX007你好: 小弟也常用 Form1 = NULL 這類的用法 不過我的做法是在 FormClose 時用 caFree FormDestroy 時再把 Form1 = NULL 以避免 Close 到 Destroy 之間有些會用到 Form1 的指標 但整體上感覺 delete 類別只會把所使用的記憶體釋放 以供其他應用程式或程式本身下次要 allocate memory 時才能要到這塊記憶體 而不會將 Form1 指標指向 NULL 可以從 caFree 以後去觀察 Form1 的指標依然是當初 new 時的位置 所以 delete Form1 以後去操作 Form1 的類別成員皆會產生錯誤訊息 另外小弟也有一些自訂類別 new 之後在 delete 以後如果沒有將指標指向 NULL 下次要判斷該類別是否已存在時會判斷為 true if(!TMyClass) TMyClass = new TMyClass(); 會導至不做 new 的動作而產生錯誤 所以小弟個人覺得 delete 只是把記憶體釋放並不會將指標也釋放 而我們所做的將指標指向 NULL 應該不會有什麼不妥才對 以上純為個人見解,如有不對之處尚請指教 |
ENIX007
高階會員 發表:28 回覆:274 積分:185 註冊:2003-11-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |