El parámetro Sender
Artículo por Club Developers · 31 diciembre 2005
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 - )
Es muy recomendable hacer comprobaciones antes de realizar los casteos
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
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Se ha pulsado el botón :' + TButton(Sender).Name); end;
Es muy recomendable hacer comprobaciones antes de realizar los casteos
delphi
procedure TForm1.Button1Click(Sender: TObject); begin if (Sender is TButton) then ShowMessage('Se ha pulsado el botón :' + TButton(Sender).Name); end;