Cita:
Empezado por oscarac
Si funciona, gracias
pero he visto que se aplica cuando el formulario es MODAL (ShowModal)
y que en el destroy no puedo usar el form1.free;
la pregunta es...
cuando un formulario no es modal, como lo libero ?
porque cuando hago esto.
Código Delphi [-] frmEmisionFacturaD:= TfrmEmisionFacturaD.Create(nil);
frmEmisionFacturaD.Show;
frmEmisionFacturaD.Free;
el formulario aparece y al instante desaparece.
|
para llamar un formulario con "Show" tienes que asignar el evento OnClose y asignar la variable "Action" con "caFree"
Código Delphi
[-]
frmEmisionFacturaD:= TfrmEmisionFacturaD.Create(nil);
frmEmisionFacturaD.Show;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
en el caso de usar "ShowModal" yo lo uso de la siguiente manera
Código Delphi
[-]
Application.CreateForm(TFrmMain, FrmMain); try
FrmMain.ShowModal;
finally
FrmMain.DisposeOf; end;
Application.CreateForm(TFrmMain, FrmMain);
try
if FrmMain.ShowModal = mrOk then begin
end;
finally
FrmMain.DisposeOf;
end;