hola ethangio
Cita:
Empezado por ethangio
Código Delphi [-]
....
procedure TForm2.FormActivate(Sender: TObject);
begin
Form3.ShowModal; end;
|
Realmente si que funciona, lo que ocurre es que al cerrar el Form3 el form2 recupera nuevamente el foco y te vuelve a ejecutar el evento FormActivate, volviendo a lanzar otra vez el Form3, por lo que entras en bucle. Si deseas ejecutar el form3 al abrir el form2 usa el evento OnShow, que solo lo realiza una vez
En cuanto a tu código, si realmente en el botón del form3 quieres cerrar los dos formularios y para evitar vinculos cruzados de unidades yo lo pondría así:
Unit2
Código Delphi
[-]
procedure TForm2.Button1Click(Sender: TObject);
begin
Form3.showModal;
Close;
end;
Unit3
Código Delphi
[-]
procedure TForm3.Button1Click(Sender: TObject);
begin
Close;
end;
De esta forma cada formulario controla su propio cierre, sin que otro formulario intervenga.
Saludos!!