Everything is very simple
procedure TProForm.Click(Sender: TObject); var myBtn: TButton; myImg: TImage; begin if Sender is TButton then begin myBtn := (Sender as TButton); //ΠΊΠΎΠ΄, Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° end; if Sender is TImage then begin myImg := (Sender as TImage); //ΠΊΠΎΠ΄, Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° end; //ΠΎΠ±ΡΠΈΠΉ ΠΊΠΎΠ΄ end;
And in the Events editor you can point to this procedure for both objects. Or do it dynamically, for example in the OnFormCreate method:
myButton.onClick := self.Click; myImage.onClick := self.Click;
If my memory serves me, then just like that, there is no delphi at hand to check.
UPD
And you can also use your method like this:
procedure TProForm.CommonClick; begin //Π²Π°Ρ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ end; procedure TProForm.Button1Click(Sender: TObject); begin self.CommonClick; end; procedure TProForm.Image1Click(Sender: TObject); begin self.CommonClick; end;
Or mine:
procedure TProForm.Click(Sender: TObject); var myBtn: TButton; myImg: TImage; procedure DoSomthing; begin //Π²Π°Ρ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ end; begin if Sender is TButton then begin myBtn := (Sender as TButton); DoSomthing; end; if Sender is TImage then begin myImg := (Sender as TImage); DoSomthing; end; end;