Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   cerrar form, desde otro form (https://www.clubdelphi.com/foros/showthread.php?t=87619)

sawesotj 30-01-2015 23:00:49

cerrar form, desde otro form
 
hola foro, tengo un proyecto en el cual inicio con una forma para hacer login llamada flogin, luego despues de validar credenciales llama a otra form llamada fmenu, la cual asu vez manda llamar a mas formas dependiendo de la seleccion en el menu, la pregunta es esta.

como hago para que cuando en mi form fmenu ejecuto application.terminate no llame a mi form principal llamada flogin ?
ya que flogin fue mi primer forma que abri, quisiera destruir la forma flogin inmediatamente despues de usarla para que no quede como una form en memoria.

saludos.

Neeruu 30-01-2015 23:21:31

Hola, yo lo haría de esta forma...

Crearía en FMenu, en el create del FMenu, Crearía y llamaria a FLogin...
Si se logea correctamente destruyo FLogin y listo, y si no se logea, Application.Terminate;

sawesotj 30-01-2015 23:26:37

pero como?
 
ok pero como destruyo la forma flogin ?
con que comando ?

ecfisa 31-01-2015 01:29:34

Hola sawesotj.
Cita:

Empezado por sawesotj (Mensaje 488334)
tengo un proyecto en el cual inicio con una forma para hacer login llamada flogin, luego despues de validar credenciales llama a otra form llamada fmenu, la cual asu vez manda llamar a mas formas dependiendo de la seleccion en el menu, ...

Podrías hacer,
Código Delphi [-]
program Project1; 
...
uses
  Forms,
  Controls,
  ...;
begin
  Application.Initialize;
  Application.CreateForm(TfrmMenu, frmMenu);   // frmMenu es el principal
  Application.ShowMainForm:= False;            // no mostrar al iniciar
  Application.CreateForm(TfrmLogin, frmLogin); //  crear form login
  if frmLogin.ShowModal = mrOk then            // ¿ todo ok ?
  begin
    Application.ShowMainForm:= True;           // mostrar al iniciar
    Application.Run;                           // ejecutar
  end;
end.

Y como ejemplo, en el formulario de validación algo como:
Código Delphi [-]
...
procedure TfrmLogin.btnValidarClick(Sender: TObject);
begin
  if EditPwd.Text = 'password' then
    ModalResult:= mrOk
  else
    ModalResult:= mrAbort;
end;

Saludos :)


La franja horaria es GMT +2. Ahora son las 14:56:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi