RE:Como saber que objeto fue pulsado
Que tal Pollux, aqui te dejo la unidad completa de código, tal vez tu probema se que tu form no se llame TForm1, y tu calse sea otra, puedes checar el nombre de tu clase justo abajo de la sección type de la unidad, si te fijas bien, el procedimiento MyOnClick se declara como cualquier otro procedimiento de componente, para que se más sencillo declara el procedimiento, pero solo declaralo, justo como está arriba del click del botón, que sería esta linea
Procedure MyOnClick(Sender: TObject);
luego de que la escribas, presiona Control+Shift+C, esto hace que la estructura del procedimiento se cree, luego solo pones la linea de codigo que viene en dicho procedimiento, el resto solo lo pones en cualquier otro evento, yo lo puse al darle click a un botón, cualquier duda escribe
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Procedure MyOnClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.MyOnClick(Sender: TObject);
begin
ShowMessage((sender as TImage).name);
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 5 do begin //Yo creo para el ejemplo 5 TImages
TImage.Create(self).Name:='Image'+inttostr(i);// Les asigno nombre, como tú
with TImage(FindComponent('Image'+inttostr(i))) do begin //Esta linea localiza el componente recié creado
Parent:=Form1;
Width:=75;
Height:=75;
Left:=75*(i-1)+(8*i);
Top:=50;
OnClick:=MyOnClick; //En esta linea se asigna el procedimiento que creamos, ojo sin parámetros, sino no funciona
Canvas.FillRect(rect(0,0,75,75));// Esta linea nos pinta el TImage para poder verlo
end;
end;
end;
end.