Witam ! Zadeklarowałem 32 elementową tablicę jednowymiarową z elementami typu Timage
obrazki:array[1..32]of Timage;
jeżeli tworzę w pętli po kolei obrazki
for a:=1 to 32 do
begin
obrazki[a]:=Timage.create(form1);
.... pozostałe parametry
obrazki[a].tag:=a;
end;
wszystko jest ok, jednak kiedy dodam przy tworzeniu linijkę
showmessage(inttostr(obrazki[a].tag));
czyli
for a:=1 to 32 do
begin
obrazki[a]:=Timage.create(form1);
.... pozostałe parametry takie jak width, height...
obrazki[a].tag:=a;
showmessage(inttostr(obrazki[a].tag));
end;
zaraz po 24 elemencie pojawia się błąd "Acces violation...". Nawet jeśli zmniejszę pętlę do 31 albo 30 a tablica ma nadal 32 elementy - nadal pojawia się błąd :/ po 24 elemencie! Dopiero zwiększenie tablicy do 33 eliminuje ten błąd. Testowałem ten kod zarówno na Delphi 2005 jak i 2007 - tak samo się sypie! W czym jest problem? Bo ja nie mam pojęcia...