对我来说很奇怪的一个问题,一存盘就出错,不存盘就不出错,不知道是什么原因????(我只有20分了)(20分)

  • 主题发起人 主题发起人 yesye
  • 开始时间 开始时间
Y

yesye

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是我的错误测试程序,但不知道为什么没有存盘倒没有任何错误,但一存盘后就出现下面
的错误,不知道是什么原因?
unit Exception;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure AppError(Sender:TObject;E:Exception);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

procedure TForm1.AppError(Sender:TObject;E:Exception);
begin
ShowMessage('error');
end;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
//Application.OnException:=AppError;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
//
j:=10;
i:=10 div (j-10);
end;

end.
错误代码如下:
[Error] Exception.pas(12): '.' expected but ')' found
[Error] Exception.pas(13): Identifier expected but 'PROCEDURE' found
[Error] Exception.pas(26): '.' expected but ')' found
[Error] Exception.pas(27): Identifier expected but 'BEGIN' found
[Fatal Error] ExceptPro.dpr(5): Could not compile used unit 'Exception.pas'
 
{$R *.dfm}应该紧接implementation吧?
//Application.OnException:=AppError;注释掉应该没有影响,但是如果去掉注释的话,
AppError缺少参数吧?因为按你的定义有两个参数,除了窗体作为Object传递外还应有一个
E:Exception.

 
仔细检查一下程序中有没有全角字符吧
 
to 631229:
我的注释与错误好象没有关系,因为我开始根本没有注释它,在引用的过程中也没有
传入参数,运行正常,但不知道为什么一存盘就出错。
 
to netameng:
难道我一存盘就会带来全角字符?或我就会少掉原来有的全角字符?
 
你是什么意思? 在Delphi 的IDE 中没有办法存盘?
我按照你的程序在D6中使用了一下,没有问题,可以存盘,
大概你代码没有贴全,应该有其他的代码影响
我是试用的代码:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure AppError(Sender:TObject;E:Exception);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.AppError(Sender:TObject;E:Exception);
begin
ShowMessage('error');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException:=AppError;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
//
j:=10;
i:=10 div (j-10);
end;

end.

[:D]
 
to jrq:
我用你说的没有错误的代码,贴了一下,问题还是同样的问题;
我的问题就是不存盘没有错误,但不知道为什么一存盘之后就冒出一批问题?
我用的是delphi6,我的代码全部粘在我上面的里面了。
 
难道没有人碰到过这种问题?????
 
对你的代码未作任何改动,可以存盘,可以执行,无结果。
 
to netameng:
真的没有问题?
我这里不知道什么原因就是出一批问题?难道和我的Delphi6有关吗?
我现在已经尝试了n遍了,还是问题不断(没有变化的问题)
那现在真的麻烦了
 
谢谢各位,问题我已经得到解决
方法是我存盘的时候把文件名存成了Exception,可能与里头的Exception冲突
 
后退
顶部