Lenguaje de programación Borland Delphi
En los procedures de muchos eventos, Delphi pasa un parámetro 'Sender' que no es más que un puntero hacia un objeto. ¿Cómo acceder a las propiedades de ese objeto mediante ese parámetro 'Sender'? Un ejemplo puede ser:
Crea un formulario (Form1) y pon dos TButton (Button1 y Button2) y un TLabel (Label1).
Ahora, pon éste código en el evento OnClick de Button1 y de Button2 (Puedes usar el mismo para ambos desde el IDE en lugar de escribirlo dos veces):
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Sender is TButton) then
Label1.Caption := TButton(Sender).Name;
end;
Como se puede observar, se ha accedido a la propiedad Name del objeto que ha llamado al evento, utilizando typecasting, es decir el "TButton(Sender)".
También se puede ver que con la línea:
if (Sender is TButton) then
se podrá saber si el objeto que ha procovado el evento es un TButton. En el ejemplo esta línea no sería necesaria.
Publicado el: 2003-11-01