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

關於表單呼叫

答題得分者是:adonis
nick6562
一般會員


發表:26
回覆:19
積分:9
註冊:2004-07-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-04 09:33:34 IP:61.222.xxx.xxx 未訂閱
各位高手大家好:    小弟有個問題思索很久卻找不出原因(因為是看書的初學者),請各位高手幫忙,謝謝! 我的程式碼如下: unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, emp; type TCommon = class(TForm) MainMenu1: TMainMenu; F1: TMenuItem; N1: TMenuItem; AltP1: TMenuItem; AltS1: TMenuItem; N2: TMenuItem; AltI1: TMenuItem; AltO1: TMenuItem; C1: TMenuItem; H1: TMenuItem; H2: TMenuItem; AltC1: TMenuItem; procedure N1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Common: TCommon; emp : Temployee; implementation {$R *.dfm} procedure TCommon.N1Click(Sender: TObject); begin emp.Enabled:=True; end; end. 感謝各位!!
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-04 09:59:30 IP:210.201.xxx.xxx 未訂閱
nick6562, 您好    請問一下你的 emp 是什麼?另一個Form的Unit嗎? 一般我的作法會把另一個Form的Uses擺到implementation的下一行去uses emp; 而emp : Temployee;我會在其它的事件裡去使用它,例如:  
 
var emp: Temployee
begin
  try
    emp := Temployee.Create(self);
    emp.showModal;
  finally
    emp.free;
  end;
end;
透過上述方式來調用其它的Form(別忘了在Project/Option中該Form不要讓其自動Create) 不知你問的問題是否如我所回應? 我也正努力學習中 ^ ^
------
我也在努力學習中,若有錯謬請見諒。
nick6562
一般會員


發表:26
回覆:19
積分:9
註冊:2004-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-04 10:25:19 IP:61.222.xxx.xxx 未訂閱
引言: nick6562, 您好 請問一下你的 emp 是什麼?另一個Form的Unit嗎? 一般我的作法會把另一個Form的Uses擺到implementation的下一行去uses emp; 而emp : Temployee;我會在其它的事件裡去使用它,例如:
 
var emp: Temployee
begin
  try
    emp := Temployee.Create(self);
    emp.showModal;
  finally
    emp.free;
  end;
end;
透過上述方式來調用其它的Form(別忘了在Project/Option中該Form不要讓其自動Create) 不知你問的問題是否如我所回應? 我也正努力學習中 ^ ^
Dear Adonis: 感謝您的回應,emp的確是另一個Form及Unit,但後來我將Form的Name修改為employee,所以我該如何寫?謝謝您!
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-04 10:46:39 IP:210.201.xxx.xxx 未訂閱
implementation uses Unit2; //employee的Unit名稱即可
------
我也在努力學習中,若有錯謬請見諒。
nick6562
一般會員


發表:26
回覆:19
積分:9
註冊:2004-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-04 11:18:50 IP:61.222.xxx.xxx 未訂閱
引言: implementation uses Unit2; //employee的Unit名稱即可
您好; 我修改了程式碼: interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus; type TCommon = class(TForm) MainMenu1: TMainMenu; F1: TMenuItem; N1: TMenuItem; AltP1: TMenuItem; AltS1: TMenuItem; N2: TMenuItem; AltI1: TMenuItem; AltO1: TMenuItem; C1: TMenuItem; H1: TMenuItem; H2: TMenuItem; AltC1: TMenuItem; procedure N1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Common: TCommon; employee : Temployee; implementation uses emp; {$R *.dfm} procedure TCommon.N1Click(Sender: TObject); var employee : Temployee; begin try employee:=Temployee. end; end. 結果顯示了錯誤訊息... [Pascal Error] Main.pas(1): Unable to invoke Code Completion due to errors in source code [Warning] Main.pas(41): Variable 'employee' might not have been initialized
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-04 11:30:13 IP:210.201.xxx.xxx 未訂閱
nick6562, 您好  
引言: var Common: TCommon; employee : Temployee; <---刪掉 implementation uses emp; 加入該調用Form的Unit {$R *.dfm} procedure TCommon.N1Click(Sender: TObject); var employee : Temployee; 為該調用Form的變數 begin try employee:=Temployee.Create(self); employee.ShowModal; finally employee.free; end; end;
------
我也在努力學習中,若有錯謬請見諒。
系統時間:2024-05-18 14:09:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!