全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1108
推到 Plurk!
推到 Facebook!

關由Package開啟時,將之前的Form隱藏的問題?

答題得分者是:danny
skurama
中階會員


發表:88
回覆:127
積分:73
註冊:2002-07-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-25 15:03:05 IP:61.219.xxx.xxx 未訂閱
請問,目前我有一個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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-10-28 08:35:42 IP:61.219.xxx.xxx 未訂閱
可能是我沒有說清楚,我在說明一次 我開了一個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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-10-28 09:29:12 IP:210.202.xxx.xxx 未訂閱
引言: 可能是我沒有說清楚,我在說明一次 我開了一個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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-10-28 15:23:04 IP:61.219.xxx.xxx 未訂閱
可以了~~~謝謝~~~~
------
----------------
初出芧房程設師,
左鍵右鼠寫程式,
日扣夜寫眼框溼,
望能早成系分師。
----------------
skurama
中階會員


發表:88
回覆:127
積分:73
註冊:2002-07-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-10-28 20:17:12 IP:61.219.xxx.xxx 未訂閱
>>我倒沒有試過您這種用法; >>假設您的 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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-10-29 09:39:37 IP:210.202.xxx.xxx 未訂閱
引言: >>我倒沒有試過您這種用法; >>假設您的 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 中的資料.
------
將問題盡快結案也是一種禮貌!
系統時間:2024-04-27 22:10:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!