по-моему у setlength второй параметр число типа byte
в хэлпе -
Цитата:
procedure SetLength(var S; NewLength: Integer);
так шо там чики пуки .... а так не вижу в чём проблема ... вроде всё просто ....
Цитата:
SetLength(a,100);
for i:=1 to 100 do
begin
a[i]:=TImage.Create(Form1);
with a[i] do
begin
Parent:=Form1;
Name:='my_image'+inttostr(i);
Left:=i+20;
Top:=i+50;
Width:=100;
Height:=20;
Canvas.Pixels[0,0]:=clblack;
end;
end;
у мя работает .. только патом надо их как создал - так и уничтожить ... а то ругацца будет =))
(то что было до того шо я писал выше)
всё работает ... глюк ведать в другом месте ... опиши в чём проблема по полней (сорц,еррор)....
потомучто массив 1. создаёться 2. динамический 3. и имена ставяться ............
пробовал созадть и пятсот и тыщу ТИмэйдж ... работает .... только не получилось обратиться как к "my_image1", но куда проще и удобней (имхо) обратиться как "a[1]" =)
да ты код свой покажи
SetLength ваще по барабану какого типа элментов у тебя масив этой фе надо тока переадать масив и новую длинну!
SetLength(a,100); - правильно а то что ты написал типа "а ведь a:timage а 100:integer;" - лол =)
Цитата:
SetLength(a,100);
for i:=1 to 100 do
begin
a[i]:=TImage.Create(Form1);
тут тока надо начинать не с 1 а с 0 тк элементы нумеруются с нуля при таком раскладе )
кстате
проверь строчку у себя ДО setlength =))
ведь дэльфи как и паскаль после ошибки ставит курсор на следующую строчку (символ) ЗА ошибкой пример тому точка с запятой, пропускаеш а оно на следующую пишет ... ну и в том духе .... авось .......