關由Package開啟時,將之前的Form隱藏的問題? |
答題得分者是:danny
|
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
請問,目前我有一個MainForm,利用MainForm來開發每一個Package,
當Package的資料不用時,我就釋放這些Package! 首先我讀進一個Package
利用Load...package..(....)的方法將該Package讀入
之後動力表單如下
try
Form1 : TForm1.create(Application);
MainForm.visible := false;
//MainForm.Hide;
Form1.Showmodal;
finally
MainForm.visible := true;
Form1.Free;
end; 但是當在MainForm.visible := false;
就會出現有關記憶體的問題出現,請問
如何在顯示Package的表單時,將之前的表單隱藏起來!???
------
---------------- 初出芧房程設師, 左鍵右鼠寫程式, 日扣夜寫眼框溼, 望能早成系分師。 ---------------- |
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
可能是我沒有說清楚,我在說明一次
我開了一個New Project,
裡面有一個MainForm,接著我產生一個New Package,加在此Project下
然後在MainForm有一個按鈕是載入此Package,
另一個按鈕是打開此Package裡的Form, 一直到載入Package都沒有問題,
然後按下打開Form的按鈕,如果沒有下MainForm.Hide or .visible := false
都不會有問題,
但是如果加上那兩行中的一行,則程式會出現記憶體錯誤,
請問是不是用Package開起的Form,就不能讓打開他的Form Hide起來~~~~????
------
---------------- 初出芧房程設師, 左鍵右鼠寫程式, 日扣夜寫眼框溼, 望能早成系分師。 ---------------- |
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: 可能是我沒有說清楚,我在說明一次 我開了一個New Project, 裡面有一個MainForm,接著我產生一個New Package,加在此Project下 然後在MainForm有一個按鈕是載入此Package, 另一個按鈕是打開此Package裡的Form, 一直到載入Package都沒有問題, 然後按下打開Form的按鈕,如果沒有下MainForm.Hide or .visible := false 都不會有問題, 但是如果加上那兩行中的一行,則程式會出現記憶體錯誤, 請問是不是用Package開起的Form,就不能讓打開他的Form Hide起來~~~~????我倒沒有試過您這種用法; 假設您的 MainForm 的 Class Name 是 TMainForm 您試試看這樣行不行, 記得 MainForm 必須還存在才可以(沒有被 Free 掉) TMainForm(MainForm).visible := false;
------
將問題盡快結案也是一種禮貌! |
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
|
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
>>我倒沒有試過您這種用法;
>>假設您的 MainForm 的 Class Name 是 TMainForm
>>您試試看這樣行不行, 記得 MainForm 必須還存在才可以(沒有被 Free 掉)
>>TMainForm(MainForm).visible := false; 對不起,剛才看到你這麼說你沒試過這種方法
請問是不是我使用Package的方法有錯誤???
因為時常會發生記憶體錯誤的問題,像是當
A Form開啟了B Form後,B Form使用A Form的public 變數則會發生記憶體錯誤?
請問一般使用Package是用什麼方法或部驟? ----------------
平身進退如殘竹,
一睨人才到處是,
獨被蒼天橫冷劍,
何生英雄來殘我。
----------------
------
---------------- 初出芧房程設師, 左鍵右鼠寫程式, 日扣夜寫眼框溼, 望能早成系分師。 ---------------- |
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: >>我倒沒有試過您這種用法; >>假設您的 MainForm 的 Class Name 是 TMainForm >>您試試看這樣行不行, 記得 MainForm 必須還存在才可以(沒有被 Free 掉) >>TMainForm(MainForm).visible := false; 對不起,剛才看到你這麼說你沒試過這種方法 請問是不是我使用Package的方法有錯誤??? 因為時常會發生記憶體錯誤的問題,像是當 A Form開啟了B Form後,B Form使用A Form的public 變數則會發生記憶體錯誤? 請問一般使用Package是用什麼方法或部驟?您的問題和我之前回答的一樣. (Delphi 要這樣作才行) 要將使用的 Form 加上 Class Name, 如 TForm1(Form1).visible := False; 或 Self.visible := False; 基本上只要記住這點就差不多了, 還有 ... 不要去存取已經不存在 Form 中的資料.
------
將問題盡快結案也是一種禮貌! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |