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

新手一問"Form 1無法找到Form 值"

尚未結案
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-23 19:39:28 IP:61.220.xxx.xxx 未訂閱
Dell all: 我在form宣告依個 public    SearchDir : String ; 可是在form1 出現[Error] UNABOUT.PAS(41): Undeclared identifier: 'SearchDir'無法使用. ----------------------------form----------------------------------------- unit MainUnit;    interface    uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,   Buttons, ComCtrls, ExtCtrls, FileCtrl, ShellCtrls, Messages, Dialogs,  Variants;    type   TPagesDlg1 = class(TForm)     Panel1: TPanel;     Panel2: TPanel;     PageControl1: TPageControl;     TabSheet1: TTabSheet;     TabSheet2: TTabSheet;     TabSheet3: TTabSheet;     OKBtn: TButton;     CancelBtn: TButton;     HelpBtn: TButton;     Edit1: TEdit;     DriveComboBox1: TDriveComboBox;     Label1: TLabel;     DirectoryListBox1: TDirectoryListBox;     FileListBox1: TFileListBox;     Edit2: TEdit;     Button1: TButton;     Memo1: TMemo;     procedure FileListBox1Change(Sender: TObject);     procedure Button1Click(Sender: TObject);   private     { Private declarations }  // FUNCTION  SEARCH_FILE(F : STRING): STRING;   public     { Public declarations }     SearchDir : String ; <---宣告 end; var PagesDlg1: TPagesDlg1; implementation Uses UNABOUT; {$R *.dfm} //FUNCTION TFROM1.SEARCH_FILE(F : STRING):STRING; //VAR SR,TR :TSwsearchRec; // FileAttrs :Integer; //BEGIN // IF FindFirst(F,FileAttrs,SR) =0 THEN // BEGIN procedure TPagesDlg1.FileListBox1Change(Sender: TObject); VAR FILENAME : STRING; TF : TEXTFILE; STR : STRING; begin MEMO1.Lines.Clear; Edit1.Text := SysUtils.GetCurrentDir; FILENAME :=FileListBox1.FileName; IF FileExists(FILENAME)= TRUE THEN begin AssignFile(TF,FILENAME); RESET(TF); While NOT EOF(TF) DO BEGIN READLN(TF,STR); MEMO1.Lines.Add(STR); End; CloseFile(TF); END ELSE begin // showMessage('no file found'); end; end; procedure TPagesDlg1.Button1Click(Sender: TObject); begin IF Application.FindComponent('UNABOUT')=nil then Application.CreateForm(TFMABOUT, FMABOUT); FMABOUT.Show; MainUnit.SearchDir:= Edit2.text; end; end. -------------------Form1--------------------------------------------------- unit UNABOUT; interface uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, ExtCtrls, Grids; type TFMABOUT = class(TForm) OKBtn: TButton; Bevel1: TBevel; Label1: TLabel; StringGrid1: TStringGrid; procedure StringGrid1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FMABOUT: TFMABOUT; implementation Uses MainUnit; <-------- Use {$R *.DFM} procedure TFMABOUT.StringGrid1Click(Sender: TObject); var sr: TSearchRec; FileAttrs: Integer; begin //PageControl1.TabSheet1.Edit2= FileAttrs :=faAnyFile; with StringGrid1 do begin Cells [0,0]:='File Name'; Cells [1,0]:='File Directory'; Cells [2,0]:='File Type(attribute)'; RowCount :=1; if FindFirst(MainUnit.SearchDir, FileAttrs,sr)=0 then begin ^<----[Error] Undeclared identifier: ---- repeat if (sr.Attr and FileAttrs)=sr.Attr then begin RowCount := RowCount 1; Cells[0.Rowcount-1] := sr.Name; Cells[0,Rowcount-1] := ; end; end; end; end; 謝謝
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-23 19:50:09 IP:61.216.xxx.xxx 未訂閱
if FindFirst(MainUnit.SearchDir, FileAttrs,sr)=0 then ..看起來好像怪怪的.. < src="http://simg3.pchome.com.tw/simage/thumbnail/3628/home.kimo.com.tw£¯angelbeach2002£¯qoo£¯angel_qoo.gif">
Justmade
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-23 20:36:43 IP:218.16.xxx.xxx 未訂閱
由於你的 SearchDir 是宣告在 TPagesDlg1 裡,你使用時便要使用 PagesDlg1.SearchDir    看你的用途,你應宣告在這裡 :    var PagesDlg1: TPagesDlg1; SearchDir : String ; <---宣告 implementation 這樣就可以了。 MainUnit. 也可不用打。
cmj
高階會員


發表:15
回覆:242
積分:226
註冊:2002-06-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-23 23:51:55 IP:211.76.xxx.xxx 未訂閱
引言: if FindFirst(MainUnit.SearchDir, FileAttrs,sr)=0 then ..看起來好像怪怪的.. < src="http://simg3.pchome.com.tw/simage/thumbnail/3628/home.kimo.com.tw£¯angelbeach2002£¯qoo£¯angel_qoo.gif">
因為是定義在TPagesDlg1的public 因此MainUnit.SearchDir改為PagesDlg1.SearchDir 才對 發表人 - cmj 於 2003/04/23 23:53:46
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-24 00:52:04 IP:61.216.xxx.xxx 未訂閱
Justmade & cmj 大大 分析精闢!佩服~~  < src="http://simg3.pchome.com.tw/simage/thumbnail/3628/home.kimo.com.tw£¯angelbeach2002£¯qoo£¯angel_qoo.gif">
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-24 09:00:14 IP:61.220.xxx.xxx 未訂閱
謝謝各位的回覆. 因為接觸Delpha才三天..也只有C ,JAVA.的底子. 才會問如此問題. 謝謝版主和各位的傾囊受教
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-24 10:28:41 IP:61.217.xxx.xxx 未訂閱
引言: 謝謝各位的回覆. 因為接觸Delpha才三天..也只有C ,JAVA.的底子. 才會問如此問題. 謝謝版主和各位的傾囊受教
當有滿意答覆時,記得按一下最上頭..給最佳回答者分數喔~< > 分數不代表什麼? 只代表建立友誼的開始!< >
系統時間:2024-04-29 17:18:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!