Вниз
Скачать: CL | DM;

List Index out of bounds   Найти похожие ветки 

 
2Wish   (2006-01-15 22:45) [0]

procedure TForm1.Findndestroy;
var i:integer;
 begin
 for i:=0 to controlcount - 1 do
 if controls[i] is TImage then
 if (controls[i] as TImage).tag <> 0 then
 (controls[i] as TImage).Free;
end;


Процедура была созданна, чтобы удалять все объекты TImage у который Tag не равен нулю. Компоненты удаляются, но во время работы программы возникает ошибка List Index out of bounds (3), не могу понять почему. Пытался обработать это как исключительную ситуацию, но ошибка все равно вылазит. В чем ошибка или есть другой способ очистить форму от TImage"ов?


 
Lamer@fools.ua ©   (2006-01-15 23:46) [1]

Ну Вы же удаляете контролы, индексы контролов меняются сответсвенно.

Измените цикл на
for i : = ControlCount - 1 downto 0 do



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.44 MB
Время: 0.025 c
15-1138086687
konda
2006-01-24 10:11
2006.02.12
Языковая панель в Windows XP


15-1138081406
wHammer
2006-01-24 08:43
2006.02.12
Большие целые числа (Delphi 5)


2-1137833405
Killer2
2006-01-21 11:50
2006.02.12
Считываня даты


15-1138201356
Pazitron_Brain
2006-01-25 18:02
2006.02.12
Одолжите домен


15-1137521628
TStas
2006-01-17 21:13
2006.02.12
Text-To-Speach




   Наверх