我想做的是把Form上的Image控件全部删除。代码如下:
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to Form1.ControlCount-1 do
begin
if copy(Form1.Controls[i].Name,1,5)='Image' then
(Form1.Controls[i] as TImage).Free;
end;
end;但是出现List index out of bounds(5)错误,我好象没有什么出界啊???为什么呢?
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to Form1.ControlCount-1 do
begin
if copy(Form1.Controls[i].Name,1,5)='Image' then
(Form1.Controls[i] as TImage).Free;
end;
end;但是出现List index out of bounds(5)错误,我好象没有什么出界啊???为什么呢?
var
i: Integer;
begin
for i := 0 to ControlCount - 1 do
if Controls[i] is TImage then
TImage(Self.Controls[i]).Create(nil);
end;
var
i:integer;
begin
for i:=0 to Form1.ControlCount-1 do
begin
if copy(Form1.Controls[i].Name,1,5)='Image' then
(Form1.Controls[i] as TImage).Hide; //隐藏掉也行,呵
end;
end;
var
i: Integer;
begin
for i := 0 to ControlCount - 1 do
if Controls[i] is TImage then
TImage(Self.Controls[i]).Free;
end;
zzlingaaa(小舟) 的方法就是出现我提问的错误。各位想想有什么好的方法。多谢!
var
i: Integer;
begin
for i :=ControlCount - 1 downto 0 do
if Controls[i] is TImage then
TImage(Self.Controls[i]).Free;
end;
这样就不会错了
i: Integer;
begin
for i := ControlCount - 1 downto 0 do
if Controls[i] is TImage then
TImage(Controls[i]).Free;
end;
我试了一下,通过啊...
不是象数组一样的吗?不都是一个控件吗?