線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:990
推到 Plurk!
推到 Facebook!

請問我以建好了MDI但會重複Creat我要如何creat一次就好????

尚未結案
miller680523
一般會員


發表:47
回覆:49
積分:19
註冊:2002-10-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-07 15:25:12 IP:203.204.xxx.xxx 未訂閱
如題:謝謝
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-07 15:39:26 IP:218.16.xxx.xxx 未訂閱
你關閉了(並 Free 了) 要再用當然要重新 Create 丫    若你不想重新 Create ,就不要 Free 他    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; Form2 := nil; Action := caHide end; 這樣你要用時再 Form2.Show 就可以了不用再 Create, 而且之前的變動還在。
miller680523
一般會員


發表:47
回覆:49
積分:19
註冊:2002-10-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-07 15:49:26 IP:203.204.xxx.xxx 未訂閱
thanking you
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-07 18:41:55 IP:218.163.xxx.xxx 未訂閱
引言: 你關閉了(並 Free 了) 要再用當然要重新 Create 丫 若你不想重新 Create ,就不要 Free 他 procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; Form2 := nil; Action := caHide end; 這樣你要用時再 Form2.Show 就可以了不用再 Create, 而且之前的變動還在。
小弟我認為,若系統的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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-09 20:44:09 IP:218.160.xxx.xxx 未訂閱
在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');
我不是高手, 高手是正在銀幕前微笑的人.
------


我不是高手, 高手是正在銀幕前微笑的人.
系統時間:2024-05-10 2:14:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!