Cita:
Empezado por franroju
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 ....
Saludos.