Вниз
Скачать: 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.029 c
2-1138260734
diwww
2006-01-26 10:32
2006.02.12
не работает VBScript


4-1132931995
Kent
2005-11-25 18:19
2006.02.12
серийный номер винта!!!


9-1125150595
rsy
2005-08-27 17:49
2006.02.12
Карта на DelphiX


4-1133333765
BVV
2005-11-30 09:56
2006.02.12
Обращения к реестру и к файлам


11-1117993714
Vanek_TV
2005-06-05 21:48
2006.02.12
TKOLToolbar




   Наверх