Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mostrar una ventana "Inicializando" mientras se crean las Forms (https://www.clubdelphi.com/foros/showthread.php?t=56102)

mancurnino 07-05-2008 17:14:40

Mostrar una ventana "Inicializando" mientras se crean las Forms
 
Hola amigos, pues tengo una duda, y es que quiero hacer lo siguiente, tengo una ventana que me mostrará que la aplicacion se esta inicializando, y kiero que me la muestre mientras se van creando las forms, y antes de hacer apliccation.run que esta ventana se cierre y ya se me muestre la ventana principal:

Código:

  Application.Initialize;
  Application.Title := 'Hotel Iowa';
  Application.CreateForm(TModuloDatos, ModuloDatos);
  Application.CreateForm(TV_Principal, V_Principal);
  Application.CreateForm(TV_Inicializar, V_Inicializar);
  V_Inicializar.Visible:= True;
  Application.CreateForm(TV_Base, V_Base);
  Application.CreateForm(TV_Entrar_Al_Sistema, V_Entrar_Al_Sistema);
  Application.CreateForm(TV_Registrarse_Como_Usuario, V_Registrarse_Como_Usuario);
  Application.CreateForm(TV_Cliente, V_Cliente);
  Application.CreateForm(TV_Usuario, V_Usuario);
  Application.CreateForm(TV_Trabajador, V_Trabajador);
  Application.CreateForm(TV_Recepcionista, V_Recepcionista);
  Application.CreateForm(TV_Administrador, V_Administrador);
  Application.CreateForm(TInform_Base, Inform_Base);
  Application.CreateForm(TInform_Reserva, Inform_Reserva);
  Application.CreateForm(TInform_Reserva2, Inform_Reserva2);
  Application.CreateForm(TInform_Servicios, Inform_Servicios);
  V_Inicializar.Visible:= False;
  Application.Run;

Creo la ventana de inicializar y al momento quiero que me la muestre mientras se cargan las demas, pero el caso es que al mostrar esta ventana el resto de apliccation.CreateForm ya no se ejecutan, y quiero que lo haga, hay alguna forma?

coso 07-05-2008 17:59:39

Estas muy cerca, te dejo el modo en que yo lo hago :

Código Delphi [-]
var
        Ab : T_about;
begin
  Ab := T_about.Create(Application);
  Ab.SpeedButton1.Visible := False;
  Ab.Show;
  Ab.Update;

  Application.Initialize;
  Application.Title := '......';
  Application.CreateForm(Tdm, dm);
  Application.CreateForm(T_main, _main);
   ...  
  Application.CreateForm(T_vpres, _vpres);
  Ab.destroy;

  Application.Run;
end.

:D

Si quieres q mientras se carga no se quede en blanco la 'Splash Screen', ves poniendo Ab.Update's entre los Application.CreateForm

maeyanes 07-05-2008 18:19:16

Hola...

Solo una aclaración... no se recomienda usar el método Destroy para destruir un objecto. Es preferible el método Free.

Cita:

Empezado por Delphi Help
Do not call Destroy directly. Call Free instead. Free verifies that the object reference is not nil before calling Destroy.


Saludos...

coso 07-05-2008 18:37:52

Ya, pero destroy queda mas destructor XDDD:D:D:D

coso 07-05-2008 18:51:19

nada ni caso, aunque en este caso nunca sera null, el free es mejor ;)

mancurnino 07-05-2008 22:54:18

muchas gracias¡

coso 08-05-2008 00:50:00

................


La franja horaria es GMT +2. Ahora son las 01:47:17.

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