FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Responder a enventos
Hola amigos. Tengo una preguntilla que haceros, a ver si me podeis ayudar. En mi proyecto MDI tengo la ventana padre y una ventana hija que creo en tiempo de ejecución. En algun momento de la ejecución, la ventana hija puede realizar una determinada acción y lanza un evento tras ella... ¿Puede la ventana padre responder a dicho evento cuando se produzca? ¿Cómo? Gracias de antemano. Un saludo.
__________________
craven |
#2
|
||||
|
||||
Se me ocurre que lo puedes hacer agregando un evento a la forma Hija:
Código:
type TFormaHija = class(TForm) private FOnMiEvento: TNotifyEvent; public property OnMiEvento: TNotifyEvent read FOnMiEvento write FOnMiEvento; end; Código:
if Assigned(FOnMiEvento) then FOnMiEvento(Self); Código:
type TFormaPadre = class(TForm) private procedure FormaHijaMiEvento(Sender: TObject); end; Código:
FormaHija.OnMiEvento := FormaHijaMiEvento; No puedes hacer esta asignación sino hasta después de que se cree la forma hija. Es decir, si tratas de hacer esta asignación en el evento OnCreate de la forma padre y la forma hija se crea automáticamente entonces te lanzará un error de violación de acceso. Si utilizas varias instancias de la forma hija deberás asignar el procedimiento FormaHijaMiEvento a todas ellas. // Saludos |
#3
|
|||
|
|||
Hola Roman. Muchas gracias, funciona a la perfección. Un saludo.
__________________
craven |
|
|
|