Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-09-2007
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 22
adebonis Va por buen camino
Iniciar aplicación con ventana no principal

Hola a todos.

Tengo una aplicación que se inicia con la ventana principal escondida (Application.ShowMainForm := False) y con un componente TrayIcon que muestra el icono en el syste tray (donde está el reloj).

Bien, lo que quiero es que al iniciar la aplicación se muestre automáticamente otra ventana de la apalicación. No he encontrado ningún evento que lo haga.

¿Alguna idea?

Gracias
Adolfo Bonis
Barcelona
Responder Con Cita
  #2  
Antiguo 13-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Puedes mostrar el segundo formulario cuando se crea (evento "OnCreate") el formulario principal, o puedes hacer que el segundo formulario sea el formulario principal. Para hacer esto último basta conque sea el primero que se cree en el archivo "DPR." Pero, probablemente te interesará lo primero. No sé.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 13-09-2007
Avatar de pborges36
pborges36 pborges36 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Argentina
Posts: 192
Poder: 20
pborges36 Va por buen camino
Por lo que entiendo necesitas algo parecido a un splash, por lo menos en comportamiento. Yo uso algo asi:


Código Delphi [-]
Application.Initialize;
Application.Title := 'Mi Programa';
Application.CreateForm(TPrincipal, Principal);
Application.CreateForm(TSplash, Splash);
Splash.ShowModal;
Splash.Free;
Application.Run;

Espero te sirva. Saludos.
Responder Con Cita
  #4  
Antiguo 13-09-2007
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 22
adebonis Va por buen camino
Hola.

Ya estoy utilizando una ventana del tipo Splash, no es eso lo que necesito. Tambien he probado a mostrar la ventana al crear la principal, pero me da un error de violación.

Inicio la apliacaión en el systemTray y no visualizo la ventana principal. Eso funciona perfectamente. Pero también necesito que cuando ya esté cargada toda la aplicación me aparezca una ventana determinada. De hecho parece que como la ventana principal no se muestra no se tienen en cuenta los eventos onShow, onPaint, onActivate, etc. con lo que me encuentro imposibilitado de realizar acción alguna.

Bien, si podeis ayudarme lo agradeceré.

Adolfo Bonis
Barcelona
Responder Con Cita
  #5  
Antiguo 13-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tendrás que ver qué está ocurriendo. Si comienzas una aplicación partiendo de cero, como puedes ver en el ejemplo que adjunto, es perfectamente posible no mostrar el formulario principal y en el evento "OnCreate" de dicho formulario principal, por el contrario, mostrar un formulario "secundario".
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 23-07-2008 a las 20:15:40.
Responder Con Cita
  #6  
Antiguo 13-09-2007
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 22
adebonis Va por buen camino
Hola.

Ok. Cierto.

Al final (me has dado la idea) he dejado el código del proyecto como sigue:

Código Delphi [-]
  fSplash := TfSplash.Create(Nil);
  try
  fSplash.Show;
  fSplash.Label1.Caption := 'Leyendo la configuración del programa...';
  fSplash.Update;
  Application.CreateForm(TSgpPral, SgpPral);
  if SgpPral.varSeguir then begin
    fSplash.Label1.Caption := 'Conectando con el Servidor de datos...';
    fSplash.Update;
    Application.CreateForm(TdmSgp, dmSgp);
    Application.CreateForm(TdmCon, dmCon);
    Application.CreateForm(TdmMan, dmMan);
    Application.CreateForm(TfMaestros, fMaestros);
    fSplash.Label1.Caption := 'Comprobando actualizaciones...';
    fSplash.Update;
    Application.CreateForm(TfCompras, fCompras);
    fSplash.Label1.Caption := 'Creando directivas de trabajo...';
    fSplash.Update;
    Application.CreateForm(TfAsuntos, fAsuntos);
    fAsuntos.Show;  
  end;
  finally
  fSplash.Free;
  end;
  if SgpPral.varSeguir then
    Application.Run
  else
    Application.Terminate;

He añadido la línea fAsuntos.Show y me funciona bien.

Gracias.

Adolfo Bonis
Barcelona
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al iniciar aplicacion igest2000 Varios 2 30-01-2006 15:41:37
iniciar una aplicación en el system tray unreal4u Varios 4 17-11-2004 20:03:32
evento de cerrar la ventana principal ronson Varios 1 25-02-2004 13:03:06
Ejecutar aplicación al iniciar Windows nesetru Varios 5 10-02-2004 09:09:56
Iniciar tu aplicacion al arancar windows JaMFrY Varios 4 05-01-2004 17:24:43


La franja horaria es GMT +2. Ahora son las 10:38:05.


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
Copyright 1996-2007 Club Delphi