有点错误请高手指点---急急急---高分

mygoodday 2001-05-25 06:32:00
我有下列的两个单元程序,运行后出现下列错误,请指点;
[Error] Unit1.pas(32): Undeclared identifier: 'editinput';
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit1.pas';

程序为:
程序1:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
procedure Panel1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
mm:string;

implementation
uses unit2;

{$R *.DFM}

procedure TForm1.Panel1DblClick(Sender: TObject);
begin
mm:=editinput.text;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.text:=mm;
end;

end.


程序2;


unit Unit2;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm2 = class(TForm)
EditInput: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.DFM}

end.
...全文
129 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
mygoodday 2001-06-09
  • 打赏
  • 举报
回复
还不能成功
mygoodday 2001-06-09
  • 打赏
  • 举报
回复
weenyboy 2001-05-27
  • 打赏
  • 举报
回复
那么,直接再一行内写入 form2. 能够出来吗?如果还是不能出来,可能是由于你申明的editinput 是private或protected类型的,你将它移动到public下面
Faccey 2001-05-26
  • 打赏
  • 举报
回复
将TForm1.Create语句加到TForm1.Panel1Click中,OK
mygoodday 2001-05-26
  • 打赏
  • 举报
回复
实如你所说的,我遍写 mm:=form2. 时就是没有editinput这个组件,请问小公子那该怎么
加以修改呢。
weenyboy 2001-05-26
  • 打赏
  • 举报
回复
一个最简单的办法是,你在

procedure TForm1.Panel1DblClick(Sender: TObject);
begin
mm:=editinput.text; //改为 mm := Form2.
end;
然后根据后面提示选择editinput字串,如果该字串没有出现说明该控件不正常
mygoodday 2001-05-26
  • 打赏
  • 举报
回复
不行哪,当我测试第二遍时。还出现
[Error] Unit1.pas(32): Undeclared identifier: 'editinput';
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit1.pas';

的错误。我都没辙了。请高手帮帮我


mygoodday 2001-05-25
  • 打赏
  • 举报
回复
seewell高手 ,我试了你的方法,可是还是原先那种情况啊。
yypp 2001-05-25
  • 打赏
  • 举报
回复
两个Form都使用自动建立,把 Form1 设置为主窗口
seewell 2001-05-25
  • 打赏
  • 举报
回复
我看这位老兄一开始就将两个FORM创建了
//fORM1里
procedure TForm1.Panel1Click(Sender: TObject);
begin
if form2.showModal= MrOK then
mm:=form2.editinput.text;
end;
//Form2里
procedure TForm2.Button1Click(Sender: TObject);
begin
ModalResult:=MrOK;
end;

你关了FORM2.值就传过去了
mygoodday 2001-05-25
  • 打赏
  • 举报
回复
哦,没错可是我将程序改为如下,却得不到(我想在form2.editinput中输入信息,然后传给
form1.edit1 中,可是我怎么也看不到。这是怎么回事,请高手再指点。

程序为:

单元1:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
procedure Panel1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
mm:string;

implementation

uses Unit2;

{$R *.DFM}

procedure TForm1.Panel1Click(Sender: TObject);
begin
form2.show;
mm:=form2.editinput.text;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.text:=mm;
end;

end.


单元2:

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm2 = class(TForm)
Editinput: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.Button1Click(Sender: TObject);
begin
close;
end;

end.


clacklin 2001-05-25
  • 打赏
  • 举报
回复
很有可能你的form1比form2先创建,所以当你的form1的create事件中调用mm:=form2.editinput.text;时,form2里的editinput根本没创建,解决办法很多。你检查你的程序先!
seewell 2001-05-25
  • 打赏
  • 举报
回复
重新BUILD一遍在实施
mygoodday 2001-05-25
  • 打赏
  • 举报
回复
不会吧,我这怎么回事呢
yypp 2001-05-25
  • 打赏
  • 举报
回复
你自己再好好看看,我刚才测试过了,没有问题的,只要改为mm:=form2.editinput.text;
mygoodday 2001-05-25
  • 打赏
  • 举报
回复
上面的两位高手。我依据你们的意思将改成 mm:=form2.editinput.text; 但还是出现上面的
错误。还请高手再指点指点!
vince12 2001-05-25
  • 打赏
  • 举报
回复

procedure TForm1.Panel1DblClick(Sender: TObject);
begin
mm:=editinput.text;
end;
改成
procedure TForm1.Panel1DblClick(Sender: TObject);
begin
mm:=form2.editinput.text;
end;
就可以了啊!
WuHeHai 2001-05-25
  • 打赏
  • 举报
回复
procedure TForm1.Panel1DblClick(Sender: TObject);
begin
mm:=From2.editinput.text;
~~~~~~---->添加
end;

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧