Form.Create(?What) 的問題 |
尚未結案
|
eric039
中階會員 ![]() ![]() ![]() 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
ha0009
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
eric039
中階會員 ![]() ![]() ![]() 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
speedup
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:19 回覆:259 積分:280 註冊:2003-07-04 發送簡訊給我 |
截至Delphi 7為止 Object Pascal語言並未具備Garbage Collection功能(自動回收未使用記憶體),所以理論上應該自行建立與釋放物件,但在VCL的Component架構中,利用Owner來解決此一問題,Owner在釋放時會一併釋放其所擁有的Component因此
fmChild := TfmChild.Create(???);
???若用fmMain 或self(self是指你目前所實作程式碼的物件,若你是在fmMain 上點選事件,那self基本上會等於fmMain),那就表是當fmMain 在釋放時,會一併釋放fmChild,同理???若用Application則表示程式結束時一併釋放fmChild
至於你所說不管是self,fmMain,Application都一樣的結果是因為,在你的Case中 self = fmMain,且fmMain Close 時會導至Application Close,Application Close時會釋放fmMain,fmMain又會釋放其擁有Component 混心雜欲 棄修身~唉
------
唉~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |