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

動態新增form

尚未結案
TheBloodKing
一般會員


發表:8
回覆:17
積分:10
註冊:2004-07-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-10 00:47:16 IP:61.10.xxx.xxx 未訂閱
有個十分傷腦筋的問題,希望有人可答 先謝謝... 先起3張form,然後動態新增它, 之後起一個edit, 如果在edit中寫入form的名,就動態新增是一樣名的form 希望有人可答
justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-10 09:17:35 IP:221.169.xxx.xxx 未訂閱
例如有三個Form: Form1, Form2, Form3 檢查edit進來的字串,如果是Form1 Form1* f1=new Form1(Application); f1->ShowModal(); delete f1;
TheBloodKing
一般會員


發表:8
回覆:17
積分:10
註冊:2004-07-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-10 12:09:50 IP:61.10.xxx.xxx 未訂閱
引言: 例如有三個Form: Form1, Form2, Form3 檢查edit進來的字串,如果是Form1 Form1* f1=new Form1(Application); f1->ShowModal(); delete f1;
檢查edit進來的字串,是可以,但我有超過40form要開... 不是要寫40以上的"if"
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-10 12:25:20 IP:219.80.xxx.xxx 未訂閱
Hello TheBloodKing,    不曉得這樣是不是你要的.
  TForm *FormDyn = new TForm(Application);
  FormDyn->Name=Edit1->Text;
  FormDyn->Caption=Edit1->Text;
  FormDyn->Show();
TheBloodKing
一般會員


發表:8
回覆:17
積分:10
註冊:2004-07-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-10 12:34:55 IP:61.10.xxx.xxx 未訂閱
其實可不可以用個名來新增.. new xxxxx<--edit內的str eg Form1* f1=new xxxxx(Application);
TheBloodKing
一般會員


發表:8
回覆:17
積分:10
註冊:2004-07-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-10 12:42:23 IP:203.168.xxx.xxx 未訂閱
引言: Hello TheBloodKing, 不曉得這樣是不是你要的.
  TForm *FormDyn = new TForm(Application);
  FormDyn->Name=Edit1->Text;
  FormDyn->Caption=Edit1->Text;
  FormDyn->Show();
對不起,不是...我的form是先寫好.. 如有40張,不是同一張, 所以才傷腦筋....
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-10 15:29:15 IP:140.112.xxx.xxx 未訂閱
TheBloodKing你好: 我想你的問題正好是卡到C語言的死角。C要求建立一個物件時,就要知道該物件的型別。因此你無法動態建立一個未知的型別。 雖然如此,delphi可以做到這個功能。從一個檔案resource建立一個物件。VCL中也大量運用這個做法,達到動態型別的功能。(不過也付上不少代價) 如果要在C裡用到的話,可以用ReadComponentResFile, WriteComponentResFile的help建立一個TComponent的子類別,再用MethodAddress得到可呼叫的函式位置、用FieldAddress得到資料的offset。過程中就完全是動態的。 雖然可行,不過在C裡面用這個功能還是非常麻煩(因為C語言本來就沒這個功能...)。我個人的建議是...使用delphi。
TheBloodKing
一般會員


發表:8
回覆:17
積分:10
註冊:2004-07-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-10-10 16:53:43 IP:61.18.xxx.xxx 未訂閱
引言: TheBloodKing你好: 我想你的問題正好是卡到C語言的死角。C要求建立一個物件時,就要知道該物件的型別。因此你無法動態建立一個未知的型別。 雖然如此,delphi可以做到這個功能。從一個檔案resource建立一個物件。VCL中也大量運用這個做法,達到動態型別的功能。(不過也付上不少代價) 如果要在C裡用到的話,可以用ReadComponentResFile, WriteComponentResFile的help建立一個TComponent的子類別,再用MethodAddress得到可呼叫的函式位置、用FieldAddress得到資料的offset。過程中就完全是動態的。 雖然可行,不過在C裡面用這個功能還是非常麻煩(因為C語言本來就沒這個功能...)。我個人的建議是...使用delphi。
哈哈,傷了幾天了...才上網找資料,也找到這兒 謝謝你的意見,可能有些頭緒, 但現在覺得問題本身的想法可能在矛盾中......雞,蛋問題? 哈哈
系統時間:2024-06-29 15:47:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!