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