Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-06-2004
melanthea melanthea is offline
Miembro
NULL
 
Registrado: jun 2004
Posts: 19
Poder: 0
melanthea Va por buen camino
Problemas conn el orden en que se muestran las pantallas

Hola a todos
Sé que el titulo del mensaje no es muy explicativo, pero no se me ocurría ninguna forma de expresarlo resumidamente.
El caso es que tengo una aplicación hecha con marcos (no creo que sea muy relevante para la pregunta, pero por si acaso...), y quiero establecer un control de acceso a la misma. El caso es que ya tengo la aplicación hecha, y evidentemente al ejecutarla me sale la pantalla principal de la misma.
Lo que necesito hacer ahora es mostrar antes de esa panntalla principal, una pantalla de splash y otra donde establezco el control de acceso a la aplicación,para que luego pase ya a la principal.
Si añado sencillamente al proyecto los formularios necesarios para el control de acceso, hay alguna manera de determinar la pantalla que quiero que se muestre primero? Es decir, yo quiero que primero me salga la splash, luego la de control de acceso y luego la principal, que es la primera que se muestra actualmente.
Muchisimas gracias por vuestra ayuda, espero que me podais contestar porque es un tema imprescindible para el correcto funcionamiento de la aplicación.
Saludos
Responder Con Cita
  #2  
Antiguo 30-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.227
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Debes crear y mostrar el splash y la forma de acceso en el archivo dpr del proyecto manualmente:

Código Delphi [-]
FormaSplash := TFormaSplash.Create(nil);
FormaSplash.ShowModal;
FormaSplash.Free;

FormaAcceso := TFormaAcceso.Create(nil);
Ok := (FormaAcceso.ShowModal = mrOk);
FormaAcceso.Free;

if Ok then
begin
  Application.CreateForm(TFormaPrincipal, FormaPrincipal);
  Application.Run;
end;

Lo importante a notar aquí son tres cosas:

1. Las formas Splash y de Acceso no las debes crear con Application.CreateForm o de lo contrario Delphi pensará que son la forma principal y terminará la ejecución cuando las cierres.

2. La forma principal y Application.Run deben ejecutarse sólo si la ventana de acceso determina que los datos son correctos, de otra forma simplemente se termina la ejecución.

3. Si la forma de acceso requiere acceso a alguna base de datos para la autenticación del usuario y tienes tus tablas en un DataModule debes dejar que éste se cree antes.

Por otra parte ambos temas (splash y acceso) se han tratado varias veces de manera que puedes hacer una búsqueda pra encontrar oras ideas.

Una cosa más: La forma splash debe tener algún Timer para cerrarse luego de un tiempo y poder dar paso a lo siguiente.

// Saludos
Responder Con Cita
  #3  
Antiguo 01-07-2004
Avatar de barman
barman barman is offline
Miembro
NULL
 
Registrado: may 2003
Posts: 139
Poder: 16
barman Va por buen camino
Question

En c++ quedaria asin.

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
TSplas *a = new TSplas(NULL);
a ->Show();
a ->Update();
Application->Initialize();
a ->Inicializa();
Application->CreateForm(__classid(.................
....................................................................
.....
a ->Free();
Application->Run();
}


Para el orden en que quieres que se te muestre prueba con
Opciones de proyecto en la lista Auto-Create froms.
Responder Con Cita
  #4  
Antiguo 01-07-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.227
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Gracias por la aclaración barman, no me había percatado de que el hilo estaba en el foro de C++.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:28:30.


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