El parámetro Sender

5803 vistas

Si nos fijamos, en los procedures de muchos eventos, Delphi pasa el parámetro Sender, que no es más que un puntero hacia un objeto.

Entre otras cosas, este parámetro nos permitirá conocer el objeto que ha realizado la llamada al evento y, claro está, acceder a todas sus propiedades y métodos. Por ejemplo, para conocer el nombre del TButton que ha clicado lanzado el evento (suponiendo que Button1, Button2, Button3,.... tienen asociado el mismo gestionador - Button1Click - )



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   ShowMessage('Se ha pulsado el botón :' + TButton(Sender).Name);
  4. end;



Es muy recomendable hacer comprobaciones antes de realizar los casteos



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   if (Sender is TButton) then
  4.     ShowMessage('Se ha pulsado el botón :' + TButton(Sender).Name);
  5. end;