注册 登录
编程论坛 Delphi论坛

ACCESS VIOLATION错误,帮忙看下的

aaron52088 发布于 2007-04-05 14:15, 771 次点击
我在一个button中写以下程序:
procedure TMainForm.Button4MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
n:=i;
l:=Random(n);
label5.Caption:=inttostr(l);
if a[l].Tag=0 then begin
label4.Caption:='合法车';
a[l].Color:=clGreen;
end else showmessage('非法车') ;
end;

一打击button就会出现这个错误,然后说 if a[l].Tag=0 then begin 有错,为什么啊?
大家帮忙看看先,谢谢啦
5 回复
#2
volte2007-04-05 20:04
a[l]是什么东西,有没有声明创建
#3
aaron520882007-04-05 22:50
l是全局变量的,我在前面总的时候定义了。
好像delphi在出现,if a[l].color=clgreen then...这种时候也会报错的,
是不可以这样和颜色比的吗?
谢谢楼上回贴啦,
继续waiting。。
#4
cypctt2007-04-06 09:16
你有没有先调用过“Randomize”这个函数?使用Random需要先调用前面的那个初始化下
#5
nongen2007-04-07 08:41
你定义了L,却没定义A吧。
#6
aaron520882007-04-09 08:16

谢谢大家帮忙看先……

a我定义了,定义成一个数组的。
a:array[1..1000] of Tpanel;
就是不明白为什么会出现if那个错误的,
大家继续帮帮忙的。

cypctt说的是什么意思呢?
是在uses中添加吗?
会出现[Fatal Error] Unit1.pas(8): File not found: 'Randomize.dcu'的错误哦。

1