Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2003
craven craven is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 22
craven Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 17-05-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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;
Cuando la hija decida mandar el evento lo hará así:

Código:
if Assigned(FOnMiEvento) then
  FOnMiEvento(Self);
La forma padre debe crear un método para recibir el evento:

Código:
type
  TFormaPadre = class(TForm)
  private
    procedure FormaHijaMiEvento(Sender: TObject);
  end;
Y asignárselo a la propiedad OnMiEvento de la forma hija:

Código:
FormaHija.OnMiEvento := FormaHijaMiEvento;
Debes tener cuidado con lo siguiente:

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
Responder Con Cita
  #3  
Antiguo 17-05-2003
craven craven is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 22
craven Va por buen camino
Smile

Hola Roman. Muchas gracias, funciona a la perfección. Un saludo.
__________________
craven
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:58:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi