Ver Mensaje Individual
  #5  
Antiguo 13-06-2011
Avatar de oesqueda
oesqueda oesqueda is offline
Miembro
 
Registrado: dic 2007
Ubicación: Guadalajara, Mexico
Posts: 66
Reputación: 17
oesqueda Va por buen camino
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
__________________
OEsqueda
Responder Con Cita