holaa!!
Estoy creando paneles en tiempo de ejecucion y quiero guardarlos en un array para luego crear en ellos un Timage. El problema es que los paneles no se guardan en el array. Las posiciones del array son nil. El array lo declaro global y de forma dinamica.
El codiog que utilizo es:
Código Delphi
[-]
procedure TForm.CreaPaneles();
var
x,y,i:Integer;
PnlImagen : TPanel;
begin
x := PnlImagenes.Width;
y := PnlImagenes.Height;
setlength(ArPaneles,2);
for i:=low(Paneles) to high(Paneles) do
begin
PnlImagen := TPanel.Create(PnlImagenes);
PnlImagen.Parent := PnlImagenes;
PnlImagen.Visible := true;
if i=0 then
TamPanel(x,y,PnlImag) else
if i=1 then
TamPanel(x div 2,y div 2,PnlImagen);
end;
end;
procedure TForm.CreaImagen(NumImag : Integer);
var
i : integer;
begin
for i:=0 to NUmImag-1 do
begin
Img := TImage.Create(ArPaneles[NImagenes]); Img.Parent := ArPaneles[NImagenes]; Img.Visible := true;
Img.Align := alclient;
Img.Stretch := true;
end;
end;
El error que me da es:Acces violation at address 00403456 in module project.exe. Read of address 0000022E.
He puesto puntos de ruptura y veo el que array esta nil.
No se que hago mal. Si alguien me puede ayudar, gracias de antemano