新手一問"Form 1無法找到Form 值" |
尚未結案
|
rookie
一般會員 發表:26 回覆:38 積分:12 註冊:2003-04-23 發送簡訊給我 |
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 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
cmj
高階會員 發表:15 回覆:242 積分:226 註冊:2002-06-12 發送簡訊給我 |
引言: 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 發送簡訊給我 |
|
rookie
一般會員 發表:26 回覆:38 積分:12 註冊:2003-04-23 發送簡訊給我 |
|
qoo1234
版主 發表:256 回覆:1167 積分:659 註冊:2003-02-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |