Muchas gracias Neftali por tu ayuda, la modificación que me sugeriste me daba error:
Código Delphi
[-]
[dcc32 Error] uni_LO.pas(83): E2015 Operator not applicable to this operand type
Lo modifique:
if (Sender = TImage(sender)) then ....
y ahora me funciona.
dejo el código por si a otro compañero le ocurre lo mismo.
Código Delphi
[-]
....
private
procedure pppClick(Sender: TObject);
...
procedure TForm1.Button1Click(Sender: TObject);
var
ListadeObjetos: Tlist;
I: Integer;
begin
ListadeObjetos := Tlist.Create();
for I := 0 to 3 do
begin
ListadeObjetos.Add(TImage.Create(Form1));
with TImage(ListadeObjetos.Items[i]) do
begin
Parent := HorzScrollBox1;
Height := 100;
Width := 100;
Bitmap.LoadFromFile(GetCurrentDir + '\' + (I + 1).ToString + '.png');
with Margins do
begin
Bottom := 5;
Left := 5;
Right := 5;
Top := 5;
end;
Name:='Imagen'+(i+1).ToString;
MarginWrapMode := MarginWrapMode.iwStretch;
Align := Align.alLeft;
OnClick := pppClick;
end;
end;
end;
procedure TForm1.pppClick(Sender: TObject);
begin
if (Sender = TImage(sender)) then begin
showmessage('prueba Imagen: ' + TImage(Sender).Name);
end;
end;
Nos obstante una consulta, si cada imagen fuera ligada a una url, una reproducción de sonido, otra imagen etc... es decir a algo mas trascendente ¿seria posible asignar ese "evento" a su correspondiente imagen cuando se crea el objeto TImage?, me explico...
En una BBDD tenemos X fotos esas fotos están ordenadas y se corresponden con el sonido Y cuya dirección esta almacenada también en la BBDD de manera que:
Foto1 -> c:\.....\animales\leonsabana.wav
Foto2 -> c:\.....\motorV6.wav
...
Corrígeme por favor si me equivoco, para conseguir esto, como TImagen no tiene una propiedad para almacenar texto, ¿debería sobrecargar la clase?.
De nuevo muchas gracias por echarme una mano.