Hola...
oscarac, no es recomendable usar la variable que declara
Delphi cuando creas un formulario nuevo:
Código Delphi
[-]
type
TMyForm = class(TForm)
end;
var
MyForm: TMyForm;
dentro de los métodos o manejadores de eventos del mismo.
Estó es, si haces algo como:
Código Delphi
[-]
procedure TMyForm.FormDestroy(Sender: TObject);
begin
MyForm := nil
end;
Te podría traer problemas posteriores.
Si quieres garantizar que un formulario se destruye al cerrarlo una de las formas de lograrlo es el evento OnClose:
Código Delphi
[-]
procedure TMyForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree
end;
Saludos...