Array of TImage created at runtime

Here is a piece of code that works, to illustrate how to create an an array of
Image controls: ( thanks to the people who answered my questions to make it
possible for me to finally figure this out ...)
________________________________________________
var
  Form1:  TForm1;
  Index:  Integer;
  obj:    array [1..10] of TImage;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  fName: string;
begin
{ every time the button is pushed a new Image
is created }
if OpenDialog1.Execute then  begin
  { get the picture name ...}
  fName := OpenDialog1.FileName;
  Inc(Index);
  obj[Index] := TImage.Create(form1);
  obj[Index].Parent := Form1;
  obj[Index].picture.loadFromFile(fName);
  obj[Index].visible := True;
  obj[Index].AutoSize := True;
  obj[Index].Left := Index*40;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Index := 0;
end;
________________________________________________
cpm