I will use the Tag property to store the index of the array, and do something like this:
procedure TForm1.FormCreate(Sender: TObject);
var
arraycount:integer;
begin
for arraycount:=0 to 15 do
begin
...
TImage(images[arraycount]).Tag := arraycount;
...
end;
procedure TForm1.tileClick(Sender: TObject);
begin
TImage(Sender).tag
end;
That way I know the position in the array, but not always you need to know this if you can use th actual object, so it depends also on your needs.