PDA

Ver la Versión Completa : Mostrar una ventana "Inicializando" mientras se crean las Forms


mancurnino
07-05-2008, 17:14:40
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:


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 :


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.


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
................