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 02-05-2006
serhasae serhasae is offline
Miembro
 
Registrado: jun 2004
Ubicación: España
Posts: 117
Poder: 20
serhasae Va por buen camino
Cerrar Splash Imposible ...

No Consigo cerrar un Splash desde que puse el codigo para minimizar la pantalla principal como un icono en la barra de tareas al lado del reloj (trayicon), el Splash pasa de las lineas de cierre, he probado con un componente echo y con el truco de trucomania con iguales resultados:

splash.close;
splash.free;
splash:=nil;


A que puede ser debido que el Splash siga visualizandose aunque yo lo cierre
cuando se muestra el form principal... Gracias.
Responder Con Cita
  #2  
Antiguo 02-05-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
¿Cómo lo estas mostrando?...
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 02-05-2006
andressanchez andressanchez is offline
Miembro
 
Registrado: jul 2005
Ubicación: Sando Domingo, Rep. Dom.
Posts: 109
Poder: 19
andressanchez Va por buen camino
He utilizado el truco #32 de trucomania y me funciona a la perfección. Te recomiendo que hagas una revisión del código, te dejo el link para que lo verifiques http://www.q3.nu/trucomania/ftesp.html.
Responder Con Cita
  #4  
Antiguo 02-05-2006
serhasae serhasae is offline
Miembro
 
Registrado: jun 2004
Ubicación: España
Posts: 117
Poder: 20
serhasae Va por buen camino
A ver utilize el truco de trucomania no para mostrar el splash sino para minimizar la ventana al lado del reloj (trayicon).

A ver tengo un formulario llamado Splash y ahi tengo una barra progressbar.

En el principal el primero que se crea tengo:
Código Delphi [-]
 
var
Splash:TSplash;
 
Application.Initialize;
 
  Application.CreateForm(TPasswordDlg, PasswordDlg);
  Application.CreateForm(TFPass, FPass);
  Application.CreateForm(TFQuickR, FQuickR);
  Application.CreateForm(TFBRNomNino, FBRNomNino);
  Application.CreateForm(TFSelec, FSelec);

  Splash:=TSplash.Create(nil);
  Splash.Gauge.Position:=0;
  Splash.Gauge.Step:=6;
  Splash.Show;
  Application.ProcessMessages;

  Application.CreateForm(TFPrincipal, FPrincipal);
  Application.CreateForm(TFMes, FMes);
  Application.CreateForm(TFRecibi, FRecibi);
  Application.CreateForm(TFReciMes, FReciMes);
  Application.CreateForm(TFBusRecibos, FBusRecibos);
  Application.CreateForm(TFBusRecibo, FBusRecibo);
  Application.CreateForm(TFBRecNom, FBRecNom);
  Application.CreateForm(TFBRecibos, FBRecibos);
  Application.CreateForm(TRPagados, RPagados);

y mas abajo tengo:

Splash.Close;
Splash.Free;
Splash:=nil;

Y Luego el Application.Run que era obvio por eso en una primera instancia no lo puse.

Última edición por serhasae fecha: 06-05-2006 a las 00:52:10.
Responder Con Cita
  #5  
Antiguo 03-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Pues a mí me falta el Application.Run

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 03-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Es obvio que debe estar.... pero ¿donde? jejeje, si lo tenías antes del Splash.Free, era fácil la respuesta

En principio, sustituyo el Application.ProcessMessages por un Splash.Update. Como la aplicación no está corriendo al completo, no me queda claro si va a procesar los mensajes bien.

Las lineas:
Splash.Close;
Splash.Free;
Splash:=nil

las sustituyo por FreeAndNil(Splash), es exactamente lo mismo.

Prueba y me cuentas por fa.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 06-05-2006
serhasae serhasae is offline
Miembro
 
Registrado: jun 2004
Ubicación: España
Posts: 117
Poder: 20
serhasae Va por buen camino
A ver lepe he probado lo que me has dicho, con iguales resultados, no se cierra, lo que pasa es que se queda detras y no me habia fijado hasta ahora yo creia que era debido al trayicon que habia añadido pero al mirar codigo antiguo me he dado cuenta que nunca lo cerro hasta que se cierra totalmente la aplicación. Simplemente al ponerme delante la form principal pues quedaba detras y no lo veia...

Bueno alguna sugerencia a que es raro que no lo cierre. Saludos.
Responder Con Cita
  #8  
Antiguo 06-05-2006
serhasae serhasae is offline
Miembro
 
Registrado: jun 2004
Ubicación: España
Posts: 117
Poder: 20
serhasae Va por buen camino
Solucion

En tu form principal, declara una variable pública llamada SplashScreenHandle:
var SplashScreenHandle:integer;
En el fuente del projecto, añade una sección var como la siguiente:
VAR SplashScreen:TSplashScreen;
Dentro de la sección begin-end, añade el siguiente código al principio:
Begin
{Mostramos la Splash Screen}
SplashScreen:=TSplashScreen.Create(Application);
Splashscreen.show;
SplashScreen.update;

{Creamos la form principal}
Application.createform(MainForm,MainFormUnit);

MainFormUnit.SplashScreenHandle:=SplashScreen.handle;
{Aqui el resto de tu projecto...} end.

Y al Mostrar el Form:
SendMessage(SplashScreenHandle,WM_CLOSE,0,0);

Sacado del Rinconcito de Delphi.

Última edición por serhasae fecha: 06-05-2006 a las 01:04:44.
Responder Con Cita
  #9  
Antiguo 15-08-2007
Avatar de protector2020
protector2020 protector2020 is offline
Miembro
 
Registrado: jul 2007
Ubicación: Orizaba, Veracruz, México.
Posts: 21
Poder: 0
protector2020 Va por buen camino
una sugerencia.

este es el codigo de mi proyecto donde uso una splashscreen, a mi me funciona bien. lo aprendi de Trucomania.

Código:
program CdAPProy;

uses
  Forms,
  CdAPForma in 'CdAPForma.pas' {Form1},
  CdAPDatos in 'CdAPDatos.pas' {DataModule2: TDataModule},
  Splash in 'Splash.pas' {Form2};
...

{$R *.res}

begin
  Form2:=TForm2.Create(Application);
  Form2.Show;
  Form2.Update;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TDataModule2, DataModule2);
...
  Form2.Hide;
  Form2.Free;
  Application.Run;
end.
adicionalmente agrego el codigo de creacion de la splash, por si es de ayuda.

Código:
procedure TForm2.FormCreate(Sender: TObject);
begin
Self.Image1.Left:=0;
Self.Image1.Top:=0;
Self.Image1.Picture.LoadFromFile('splash.jpg');
Self.Image1.AutoSize:=True;
Self.ClientHeight:=Self.Image1.Height;
Self.ClientWidth:=Self.Image1.Width;
Self.BorderStyle:=bsNone;
Self.Position:=poDesktopCenter;
end;
espero que les sea de ayuda. saludos.
Responder Con Cita
  #10  
Antiguo 09-10-2007
mr_mustard mr_mustard is offline
Registrado
 
Registrado: feb 2006
Posts: 8
Poder: 0
mr_mustard Va por buen camino
A mi me pasó algo parecido:

begin
Application.Initialize;
Application.Title := 'Project1';
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
Application.CreateForm(TForm1, Form1);
.
.
.

Application.CreateForm(TForm3, Form3);
Application.CreateForm(TSplashForm, SplashForm);
SplashForm.Hide;
SplashForm.Free;
Application.Run;
end.

El problema era la linea roja, por que si lo estoy creando, ya no necesita ser creado de nuevo.
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
Splash Screen jmedina Varios 6 15-08-2007 07:15:46
formulario tipo splash screen fer21unmsm Varios 3 06-01-2006 23:03:22
Problemas en splash screen ilichhernandez Varios 2 19-12-2005 06:45:17
Splash Screen con imagen ibstk Varios 2 09-09-2004 01:05:51
Hacer un Splash con forma de una imagen rjsitruiz Gráficos 6 09-07-2004 11:28:21


La franja horaria es GMT +2. Ahora son las 16:47:13.


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