类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
procedure TfrmUser_product_config.FreeCheckBox;
var
i : integer;
ct : TControl;
begin
for i:=0 to groupbox1.ControlCount - 1 do
begin
if groupbox1.Controls[i] is TCheckBox then
begin
(groupbox1.Controls[i] as TCheckBox).Free;
end;
end;
end;
1.释放控件时会出现越界错误,请问是什么问题?
2.如果换成 downto 时没错误,请问为什么downto可以呢?
网友回答:
for i:= groupbox1.ControlCount - 1 downto 0 do
//當然會越界,如果有3個,釋放了2個,還有一個的話,還存在GroupBox1.Coutrol[2]了嗎?
这是一个软件基本常识的问题
比如:
i:=0 to 5
你删除了前面5个后,ControlCount又变成了1,最大的下标只能是0了,再找Controls[5]肯定找不到