請問我以建好了MDI但會重複Creat我要如何creat一次就好???? |
尚未結案
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 你關閉了(並 Free 了) 要再用當然要重新 Create 丫 若你不想重新 Create ,就不要 Free 他 procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin小弟我認為,若系統的Form很多,若只Create不Free掉,很容易造成記憶體不足或錯誤,我覺得應該這樣做會比較好...... if not Assigned(Form1) then Form1 := TForm1.Create(Self); Form1.Show; 加入紅色那一行表判斷Form1是否已經Create。 ~小弟淺見,參考看看~ 發表人 - channel 於 2003/06/07 18:43:19
------
~小弟淺見,參考看看~ |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
在MainForm procedure TMainForm.CreateChildForm(FormName: string); var ICont: Integer; Form: TForm; begin Form := nil; for ICont := 0 to Screen.FormCount - 1 do if Screen.Forms[ICont].ClassName = FormName then begin Form := Screen.Forms[ICont]; Form.BringToFront; end; if Form = nil then begin //Form := TFormClass(FindClass(FormName)).Create(Application); TFormClass(FindClass(FormName)).Create(Application); end; //Form.WindowState := wsMaximized; end; 子Form 須在最下面 Initialization 例如 Initialization RegisterClass(TFrm_Kata_SF2); MainForm呼叫時 CreateChildForm('TFrm_Kata_SF2');我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |