Ver Mensaje Individual
  #7  
Antiguo 30-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por franroju Ver Mensaje
El método Close lo invoco en un botón
Código Delphi [-]
 if (Form5 <> nil) then begin
    DataModule2.queryLogin.Close;
    Form5:=nil;
    Form5.Close;
  end;
Hola.

Además de lo dicho por los compañeros, no veo la necesidad de comprobar si Form5 existe en ese punto. Si pudiste hacer click en un botón situado en Form5, indudablemente existe

Otra forma en que podés simplificar la creación es:
Código Delphi [-]
...
type
  TForm5 = class(TForm)
    ...
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
  private
  public
    class function MostrarModal: TmodalResult;
  end;

...
implementation
...

class function TForm5.MostrarModal: TModalResult;
begin
  with TForm5.Create(nil) do
    Result:= ShowModal;
end;

procedure TForm5.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //...
  Action:= caFree;
end;

procedure TForm5.FormDestroy(Sender: TObject);
begin
  //...
  Form5:= nil;
end;
end.

Form principal, llamada de ejemplo:
Código Delphi [-]
  if TForm5.MostrarModal = mrOk then // o simplemente: TForm5.MostrarModal;
   ....

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita