Delphi 高手帮忙
Delphi中写一模糊查询程序,在Form窗体中添加一个Button,双击该按钮对其编程存储为“AAA1”经过调式,语句错误提示没有了。但是一直显示:
[Error] AAA1.pas(45): Declaration expected but end of file found
然后光标停在AAA1文件中的End;后面。始终不知道错在哪
怕程序弄丢了点击的保存。结果又让存储一个文件。设为“AAA”
其内容如下。
再调试出现错误
[Fatal Error] AAA.dpr(5): Could not compile used unit 'D:\洪宇工作记录\AAA1.pas '
AAA1如下
unit AAA1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1: TButton;
Edit1: TEdit;
ADODataSet1: TADODataSet;
ADOQuery1: TADOQuery;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.close;
ADOQuery1.ClearFields;
ADOQuery1.SQL.Add( 'select * from gzjl where JE like ' '% '+edit1.Text+ '% ' ' ');
ADOQuery1.Open;
edit1.Text:= ' ';
edit1.SetFocus;
end;
AAA如下:
program AAA;
uses
Forms,
AAA1 in 'D:\洪宇工作记录\AAA.pas ' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
[解决办法]
文件 AAA
"end. " 不是 "end; "(句号,不是分号)
检查文件的结尾。
[解决办法]
你在单元的最后少了一个 "end. "
就是单元的结束标志 ,
你随便找个建个空窗体 看看就知道了
[解决办法]
AAA如下:
program AAA; //工程名不能和工程内的单元相同
uses
Forms,
AAA1 in 'D:\洪宇工作记录\AAA.pas ' {Form1}; //这里,AAA1和 'D:\洪宇工作记录\AAA.pas '有问题,记住,如果你保存的为AAA.pas, AAA1就必须改为AAA.就是说这两个要一样.
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end; //删除这行
end.
你改成这样再看看:
program AAA;
uses
Forms,
AAA1 in 'D:\洪宇工作记录\AAA1.pas ' {Form1}; //AAA.pas变成AAA1.pas,因为看你的unit为AAA1
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
//这里删除了 "end; "
end.
[解决办法]
工程文件里只要一个没有过程的话,END.
单元文件里 本身过程要一个BEGIN END; 结束要一个END.