兩個FORM之間要如何呼叫,及傳值... |
答題得分者是:Justmade
|
laku0121
一般會員 發表:39 回覆:49 積分:17 註冊:2002-10-30 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
Delphi 不允許多重參照,所以要達成你的需求要使用其他方式。在此藉機
示範一個利用 OO 的繼承架構達成你說的需求。這個範例也許不是解決你的問題
最好的方法,但對於 Delphi 在 OO 方面的應用應該有幫助。也請前輩們不吝指
導。 http://sourceprovide.deepen.com.tw/K_Top/OOForm.exe
PS:半夜三點好累,無法詳加注釋。見諒 < src="http://sourceprovide.deepen.com.tw/K_Top/bp.gif">
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
試試這樣 :
Unit 1 :
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Form2.Show; Form2.Edit1.Text := 'Show Form 2'; Hide; end; end.Unit 2 : unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation uses Unit1; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin Form1.Show; Form1.Edit1.Text := 'Show Form 1'; Hide; end; end.補充一下:若兩個 unit 在 interface 的 uses 互相 uses 對方是不成的,就是 ha0009 版主所說的 循環參照。 不過若一個 uses 在 interface 另一個 uses 在 implementation 或 兩個都 uses 在 implemention 是沒問題的。 發表人 - Justmade 於 2003/07/16 10:25:21 |
laku0121
一般會員 發表:39 回覆:49 積分:17 註冊:2002-10-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |