Gracias por contestar, es un poco mas complicado, te pongo en situación, tengo un formulario desde el que llamo a otro, es un tema de fastreport, en ese formulario (Form2) recién creado tiene un componente frxDesigner que se utiliza para diseñar un informe, con sus eventos, SaveReport, etc... que capturo y tengo cierto código, cuando cierro ese formulario abro otro (Form3), que también tiene ese componente frxDesigner, y lo mismo que el anterior tiene sus eventos, el problema está que cuando se abre el tercer formulario esta cogiendo la instancia del componente del segundo formulario, y no pasa por los eventos del componente del propio formulario, espero estar explicándome bien, por eso necesito saber cuando se ha destruido "Form2" para poder crear "Form3"
Por cierto, el "form2" es ShowModal
Desde el "form1"....
Código Delphi
[-]
procedure TForm1.CreateForm2;
begin
Form2:=TForm2.Create;
Form2.ShowModal;
Form3:=TForm3.Create
Form3.Show;
end;
Lo he solucionado con "Notifications", he creado en el Form1 ...
Código Delphi
[-]
procedure Notification(AComponent: TComponent; Operation: TOperation);override;
...
procedure TForm1.Notification(AComponent: TComponent; Operation: TOperation);
begin
if (Operation = opRemove) and (AComponent is TForm2) then
CrearForm3;
end;
Me aseguro de que el formulario se ha eliminado y creo el "form3", y funciona, no se si habrá otra forma mas elegante, jeje
O si ves algún posible problema por utilizar ese método.
Gracias.