Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2005
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 23
salvica Va por buen camino
Question Más sobre las SplashScreen

Hola de nuevo a tod@s

Estoy intentando aplicar lo que explicais por estos foros a una SplashScreen que me he creado, pero me encuentro con el problema de que si se pulsa sobre ella, actúa como el MainForm y me salta el error de raised exception .. bla, bla, bla ... Cannot focus a disables or invisible window (Form_Main)'

Lo he solucionado poniendo la propiedad "Enabled := false;", pero no se si lo estoy haciendo bien ¿hay alguna otra forma de hacerlo?
Código Delphi [-]
      Application.Initialize;
      SplashForm := TSplashForm.Create(Application);
      SplashForm.Show;
      SplashForm.Update;
      Application.CreateForm(TForm_Main, Form_Main);
      Application.CreateForm(TForm_Msg, Form_Msg);
      SplashForm.Free;
      Application.Run;

Tambien he optado por quitar de ahi la eliminación del Splash y ponerlo en el método Show del Form_Main (para eliminarla cuando se visualice éste)
Código Delphi [-]
Application.Initialize;
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
Application.CreateForm(TForm_Main, Form_Main);
Application.CreateForm(TForm_Msg, Form_Msg);
Application.Run;
 
 
 unit frmMain;
 interface
 uses
 { uses mios que deben ponerse aqui }
   frmSplash, { SplashForm }
 .....
 .....
 
 procedure TForm_Main.Form_OnShow(Sender: TObject);
 begin
 .....
 { eliminar el SpashScreen }
   SplashForm.Hide;
   SplashForm.Free;
 end;
Saludos
salvica
Responder Con Cita
  #2  
Antiguo 30-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No creo que tengas que hacer nada sobre la "Splash Screen" en el formulario principal. De todas formas en tu código se pueden ver cosas "mejorables", a tenor de lo que Zarko Gajic cuenta en su artículo "Creating a Splash Screen in Delphi applications" (en inglés). Échale un vistazo, a ver si te aclara algunas cosas, creo que merece la pena.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 30-10-2005
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 23
salvica Va por buen camino
Hola Dec, ante todo gracias por reponder tan rápido

He mirado el enlace que has puesto, y solo diferencio la posición donde se inicializa la aplicación. He cambiado el código a
Código Delphi [-]
       // Application.Initialize; //-----> posición original
       SplashForm := TSplashForm.Create(Application);
       SplashForm.Show;
       Application.Initialize; //-------> Zarko dice que aquí
       SplashForm.Update;
       Application.CreateForm(TForm_Main, Form_Main);
       Application.CreateForm(TForm_Msg, Form_Msg);
       Application.CreateForm(TForm_Metars, Form_Metars);
       SplashForm.Hide;
       SplashForm.Free;
       Application.Run;
y ahora visualiza el Splash y cierra la aplicación en cuanto se oculta

¿Por? (creo que esto lo he visto reflejado en el foro, voy a buscarlo)
Gracias y se siguen admitiendo ayudas
salvica

Pdta.:
Me he colado, tenía abierto el proceso en segundo plano y se cerraba por eso (es que evito dobles instancias)

Al pulsar sobre el Splash, me vuelve a sacar el mensaje inicial de error de foco, por lo que solo veo la opción de desactivarla

Última edición por salvica fecha: 30-10-2005 a las 08:39:29.
Responder Con Cita
  #4  
Antiguo 30-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé qué puede ocurrir, pero, si echas un vistazo al adjunto verás que todo va como se espera... vamos, hasta nueva orden por lo menos.
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (2,6 KB, 67 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 30-10-2005 a las 08:56:37. Razón: Actualizar el archivo adjunto.
Responder Con Cita
  #5  
Antiguo 30-10-2005
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 23
salvica Va por buen camino
Nos hemos cruzado

Cuando yo he editamo el mensaje anterior y he leido el tuyo, tu estabas editando tu mensaje para cambiar el código del proyecto

Lo dicho, me aparece el error inicial
Responder Con Cita
  #6  
Antiguo 30-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pero tú puedes ver en el ejemplo que adjunté más arriba cómo puedes "tocar", "pulsar" en la "Splash Screen" sin que esto suponga ningún error... Entonces, tal vez el problema no esté en la "Splash Screen", ni en cómo estás mostrándola, sino que puede estar en otro lado. No sé... Supongo que si estás llevando a cabo en la creación del formulario principal (evento "OnCreate"), o cuando lo muestras o en otro lugar, o quizá otros formularios... no digo nada, pero, si algo se me ocurre es que el error no provenga de la "Splash Screen".
__________________
David Esperalta
www.decsoftutils.com
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


La franja horaria es GMT +2. Ahora son las 22:02:06.


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