Delphi - Se me sigue cerrando toda la aplicación....

 
Vista:

Se me sigue cerrando toda la aplicación....

Publicado por Miguel (34 intervenciones) el 21/01/2004 09:57:39
Hola , se cierra la aplicación al cerrar el splash y lo tengo de la siguiente manera.
El MainForm en Proyect/Options es : mdiPrincipal

Esto está en el inicio de la aplicación :
Application.Initialize;
Application.CreateForm(TmdiPrincipal, mdiPrincipal);
Application.Run;

En el Create del mdiPrincipal creo el Splash así :
Application.CreateForm(TfrmSplash, frmSplash);
frmSplash.Show;

Y en el Show del mdiPrincipal lo cierro :
frmSplash.Close;

Pero se me cierra toda la aplicación , ¿Cómo debo hacerlo ?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Se me sigue cerrando toda la aplicación....

Publicado por Diego Romero (636 intervenciones) el 21/01/2004 11:55:00
A ver...
En el DPR de tu proyecto escribe lo siguiente:
Agrega el nombre de la Unit donde está declarado el form del splash a la lista de Uses del DPR, ese form debes quitarlo de la lista de autocreados.

Application.Initialize;

FrmSplash := TFrmSplash.Create(Application);
FrmSplash.Show;
FrmSplash.Update;

Application.CreateForm(TFrom1, From1);
...

Luego en el evento OnShow de Form1:
if Assigned(FrmSplash) then
begin
FrmSplash.Release;
FrmSplash:=nil;
end;
También debes agregar el nombre de la Unit a la clausula Uses en Form1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Esto me genera un error

Publicado por Miguel (34 intervenciones) el 21/01/2004 13:58:56
He probado poner lo que me has puesto arriba pero me genera un error en la línea :

FrmSplash := TFrmSplash.Create(Application);

del DPR.Lo tengo puesto de esta manera :

Application.Initialize;

FrmSplash := TFrmSplash.Create(Application);
FrmSplash.Show;
FrmSplash.Update;

Application.CreateForm(TmdiPrincipal, mdiPrincipal);
Application.Run;

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Esto me genera un error

Publicado por Cuervo (262 intervenciones) el 21/01/2004 20:09:08
program Proyecto01;

uses
Forms,
unitPrincipal in \'unitPrincipal .pas\',
uAbout in \'uAbout.pas\';

{$R *.res}

var
SplashAbout: TAboutBox;

begin

Application.Initialize;

SplashAbout := TAboutBox.Create (Application);

try
splashAbout.Arranque;
SplashAbout.Close;
finally
SplashAbout.Free;
end;

Application.CreateForm(TfrmPrincilal, frmPrincipal);
Application.CreateForm(TAboutBox, AboutBox);
Application.Run;
end.
-------------------------------------------------------------------------------------------
//Dentro del formulario about colocas la funcion arrancar()
//asi:
procedure TAboutBox.arranque;
begin
Show;
Update;
end;
-------------------------------------------------------------------------------------------
//NOTA; a la funcion arrancar() le podes poner lo que quieras un timer, abrir archivos, para no sobrecargar a tu frmPrincipal.
//espero que te de resultados positivos.
Atte,
Cuervo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Esto me genera un error

Publicado por Diego Romero (636 intervenciones) el 22/01/2004 12:40:17
Demás está decir que FrmSplash es la variable de tipo TFrmSplash que está en la interface de la unidad donde está declarado el form del splash, ¿cierto?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar