Ver Mensaje Individual
  #8  
Antiguo 28-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 27
jachguate Va por buen camino
Un evento es un apuntador a un método. Para ser exactos, es una propiedad de los objetos que apunta a direcciones de métodos de otros objetos. Lo que haces en el object inspector es eso... relacionar los "eventos" de los objetos (componentes) con métodos de otro objeto (regularmente de los formularios).

Esa asignación que hace el ObjectInspector, también podes hacerla por código. La condicion a cumplir es que la lista de parámetros sea igual, en número y tipo, a la requerida por el evento. Esta verificación se realiza usando tipos procedurales para definir los eventos, y es chequeada en tiempo de compilación.

Para que el inspector de objetos interprete una propiedad como evento, esta tiene que ser de un tipo procedural. Ya hay algunos tipos definidos en unidades de la VCL, como el TNotifyEvent, cuya definición es algo como:

Código Delphi [-]
type
  TNotifyEvent = Procedure (Sender : TObject) of Object;

la clausula of Object indica al compilador que solamente un método de otro objeto será válido, y no un procedimiento "independiente".

Lo que haces por código, entonces, es asignar un método de tu componente a la propiedad "evento" de los botones. En este método, ya vos podes identificar, mediante el sender, que botón es el que ha sido pulsado, y actuar en consecuencia.

Para ampliar tus conocimientos en este tema, te recomiendo la lectura de un libro que abarque el diseño de componentes. El que a mi mas me gusta es Mastering Delphi, de Marco Cantú.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita