![]() |
eventos en objetos
hola
estoy generando objetos dinamicamente en la forma pero mi pregunta es como puedo trabajar con eventos de los objetos antes generados. ya que no me los acepta directamente. se requiere de una llamada especial? :confused: |
Por ejemplo algo así:
Código:
MiCompo := TMiCompo.Create(el que sea); |
miProcedureDelOnclick(sender)
donde se tiene que generar o donde se tiene que declarar para que sea llamado Nota: el componente es creado de un padre y es utilizado en una forma hija. asi que donde se tiene que poner el procedimiento en el padre o en el hijo |
en el formulario que contenga el objeto
|
Propiedades evento
¡Buen día a todos!
Cita:
Los eventos de los objetos son también propiedades, como Caption, Left, Top, Visible, etc. Sólo que su tipo de dato no es String, Integer, Boolean, etc., sino que son de tipo procedimiental, es decir, lo que guardan estas propiedades evento son la dirección de memoria de la rutina que van a ejecutar cuando el evento se de. Ahora, hay que considerar que un manejador de evento es siempre un método procedimiento, es decir un procedure declarado como parte de una clase de objeto. Para poder asignar un manejador de evento a una propiedad evento, es necesario también que la cabecera de parámetros del manejador sea compatible con la cabecera de parámetros del tipo de evento. Por ejemplo, si observas la ayuda de Delphi sobre el evento OnClick de TButton, notarás que su declaración es: Código:
Property OnClick :TNotifyEvent; Código:
Type TNotifyEvent = Procedure (Sender :TObject) Of Object; Entonces, la sentencia: Código:
Boton.OnClick := ManeBotoOnClick; Código:
TMiForma = Class (TForm) Código:
Procedure TMiForma.ManeBotoOnClick (Remitente :TObject); La declaración e implementación del manejador de evento debe ser en una clase de objeto, de la cual sea seguro que exista una instancia durante el tiempo de vida de cualquier objeto que tenga asignado ese manejador. Si el tiempo de vida de los objetos creados dinámicamente está dentro del tiempo de vida de la forma hija, entonces el manejador de evento puede estar en la clase de la forma hija. No obstante, los manejadores de eventos también pueden ser declarados en la forma padre, si se considera conveniente por motivos de ámbito de variables y otros factores. Espero esto sea de utilidad. Seguimos en contacto. Al González :). |
La franja horaria es GMT +2. Ahora son las 13:16:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi