Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mi aplicacion despues de loguearse vuelve sola al form del login!...¿Por qué? (https://www.clubdelphi.com/foros/showthread.php?t=74324)

yako1234 12-06-2011 18:22:21

Mi aplicacion despues de loguearse vuelve sola al form del login!...¿Por qué?
 
Tengo una aplicacion con varias forms, la primera es un SplashScreen, despues de 5 segundos me manda al form del login, me logueo correctamente y me envia al form principal pero despues de unos 3 segundos se regresa al form del login sola (sin presionar nada) y quisiera que alguien me ayudara, pues no kiero que se regrese al login sola, ¿Que puede ser? (Corre bajo windows 7 y esta hecha en Delphi 7) (Soy principiante en Delphi).

ecfisa 12-06-2011 18:43:23

Hola yako1234 y bienvenido a los foros de Club Delphi :)

Puede ser por varios motivos, pero vamos a empezar por lo primero: ¿ Podrías poner el código correspondiente a tu proyecto ?
( View->Units->Nombre_de_tu_Proyecto ).

Cuando lo hagas, por favor encierra el codigo entre las etiquetas delphi de este modo:

[delphi]
Aca, entre las etiquetas,
pone tu código Delphi
[/delphi]
.

Saludos.

Caral 12-06-2011 18:55:59

Hola
Manda un SplashScreen con 5 segundos de interbalo.
Bien: Si usas un Timer y no lo deshabilitas entonces seguira haciendo lo mismo, mas si esta ligado al form principal.
Saludos

juanlaplata 13-06-2011 14:21:28

En mi caso ...
Código Delphi [-]
procedure TFormPpal.FormCreate(Sender: TObject);
begin
// mostrar imagen del sistema por unos segundos
FormSplash:= TFormSplash.Create(Application);
FormSplash.tiempo:=0;
FormSplash.Timer1.Enabled:=True;
FormSplash.ShowModal;
FormSplash.Free; 

// login
FormLogin:= TFormLogin.Create(Application);
FormLogin.ShowModal;
FormLogin.Free; 

......

end;

oesqueda 13-06-2011 15:46:18

Ahi va el ultimo que estoy haciendo


Código Delphi [-]
begin
  Application.Initialize;
  //Forma principal
  Application.CreateForm(TfrmMain, frmMain);

  //Splash
  frmPresentacion  := TfrmPresentacion.Create(Application);
  try
    frmPresentacion.Show;
    frmPresentacion.Update;

    Application.MainFormOnTaskbar := True;
    Application.Title := '';

    Application.CreateForm(TdmMain, dmMain);
    //Licencia de uso porque es de paga
    if dmMain.TieneLicencia then
      //Abro la base de datos
      if dmMain.AbrirDB then
        //Aqui abro el Login
        if frmMain.Login then
        else
          Application.Terminate
      else
        Application.Terminate
    else
      Application.Terminate;
  finally
    Application.ShowMainForm := not Application.Terminated;
    frmMain.Visible := not Application.Terminated;

    frmPresentacion.Free;
    Application.Run;
  end; {try}
end.

Ok, El delphi sabe que frmMain es la ventana principal porque es la primera que se crea.
El splash no necesito mostrarlo Modal, porque en la funcion AbrirDB tarda un par de segundos en abrir la db y ves el splash.

Esta es la funcion Login:
Código Delphi [-]
function TfrmMain.Login: Boolean;
begin
frmLogin := TfrmLogin.Create(Application);
try
  Result := IsPositiveResult(frmLogin.ShowModal);
finally
  frmLogin.Free;
end; {try}
end;

Asi que no hay nada de raro en lo que hago, solo no tengo un chorizo en la ventana principal y encapsulo donde debe estar las cosas.

Saludos

Neftali [Germán.Estévez] 14-06-2011 12:43:55

Si estás utilizando ADO, otra opción es que tengas el LoginPromp de la conexión a True, y poreso te vuelve a preguntar.

P.D: Bienvenido al club.


La franja horaria es GMT +2. Ahora son las 09:53:33.

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