Ver Mensaje Individual
  #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
Reputación: 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