我一段程序,通过form1中的button2按纽的单击事件要弹出finfo窗口,但在编译运行时出现错误先看uni2的代码:
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TFinfo = class(TForm)
Label1: TLabel;
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Finfo: TFinfo;implementation
uses unit1
{$R *.dfm}procedure TFinfo.FormShow(Sender: TObject);(这就是29行)
var s:string;
begin
memo1.Lines.Clear;
s:=s+ 'name:'+'form1.Edit1.Text+#13+#10';
memo1.Lines.add(s);
end;procedure TFinfo.Button1Click(Sender: TObject);
begin
close;
end;
end.
在编译运行是老是出现下面的错误:
[Error] Unit2.pas(29): ',' or ';' expected but 'PROCEDURE' found
请问是怎么回事?(
下面是unit1的代码:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:='';
end;procedure TForm1.Button2Click(Sender: TObject);
begin
finfo.ShowModal
end;end.
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TFinfo = class(TForm)
Label1: TLabel;
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Finfo: TFinfo;implementation
uses unit1
{$R *.dfm}procedure TFinfo.FormShow(Sender: TObject);(这就是29行)
var s:string;
begin
memo1.Lines.Clear;
s:=s+ 'name:'+'form1.Edit1.Text+#13+#10';
memo1.Lines.add(s);
end;procedure TFinfo.Button1Click(Sender: TObject);
begin
close;
end;
end.
在编译运行是老是出现下面的错误:
[Error] Unit2.pas(29): ',' or ';' expected but 'PROCEDURE' found
请问是怎么回事?(
下面是unit1的代码:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:='';
end;procedure TForm1.Button2Click(Sender: TObject);
begin
finfo.ShowModal
end;end.
--------------------而且楼上的交叉引用如果按楼主那样引用也是可以的。不会出现问题。
你所说的只有放在interface后的uses里面才不允许。