Splash
25/11/2005
0
Gostaria de saber se é dessa maneira que funciona ou se estou errando em algum lugar do código fonte. As linhas de código que utilizei são:
{$R *.res}
begin
Application.Initialize;
frmSplash := TfrmSplash.Create(Application);
frmSplash.Show;
frmSplash.Refresh;
Sleep(1000);
Application.CreateForm(TdmConexao, dmConexao);
...
FreeAndNil(frmSplash);
Application.Run;
Já segui algumas sugestões, mas não deram certo.
Fico no aguardo.
Um abraço a todos,
Rogério
Roger1976
Posts
26/11/2005
Tnaires
Tente substituir o
FreeAndNil(frmSplash);
por
frmSplash.Release;
Abraços
26/11/2005
Roger1976
Obrigado pela atenção.
27/11/2005
Aspirante
Primero pegue o formulário que é o Splash e no menu Project - Options mude ele pra Available forms. Aí, no ViewSource escreva:
{$R *.res} begin SplashForm := TSplashForm.Create(Application); SplashForm.Show; SplashForm.BorderStyle:=bsnone; SplashForm.Update; Application.Title := ´Programa´; Application.Initialize;
Tá, ainda no View Source, vai ter os códigos que inicializam os formulários né. Depois deles no final coloque:
Espero que possa ter ajudado.
Flw.
27/11/2005
Roger1976
Dê uma olhada no código abaixo que eu utilizei:
try
frmPrincipal.WindowState := wsMinimized;
frmMovimentacao := TfrmMovimentacao.Create(self);
frmMovimentacao.ShowModal;
finally
FreeAndNil(frmMovimentacao);
end;
No intervalo de uma tela para outra, o splash aparece, veja que não a ação de minimizar a tela principal e exibir a tela de movimentação é feita pelo sistema, e não pelo usuário. Talvez Tarso tenha alguma coisa errada no código acima. Um detalhe, estou usando o Delphi 2005, eu não sei se isso tem alguma coisa a ver.
Kra, valeu pela força, se puder faça um teste neste código, caso veja algo de errado, é só me avisar.
Um abraço,
27/11/2005
Aspirante
Sinceramente, acho que você está com algum problema em fazer o código, porque não vejo erro, ele oculta e libera o Splash.
Uhmm. Não sei se é o 2005 que dá problema não, mas eu uso o 6.
Mas se continuar dando problema cara, tenta fazer:
SplashForm.Width := 1
SplashForm.Height := 1
SplashForm.Left := 10000
Hehehe. É meio sem noção mas pode até servir.
Testa aí.
Flw.
28/11/2005
Tnaires
Essa é a maneira que eu codifico o Splash:
Application.Initialize; FrmSplash := TFrmSplash.Create(Application); with FrmSplash do begin Show; Update; end; // O Form principal eu crio depois do Splash: Application.CreateForm(TFrmPrincipal, FrmPrincipal); Application.CreateForm(TDtmPrincipal, DtmPrincipal); // No meu caso, há um formulário de login que eu crio agora: Application.CreateForm(TFrmSenhaUsuario, FrmSenhaUsuario); FrmSenhaUsuario.ShowModal; // Agora eu destruo o Splash: FrmSplash.Release; Application.Run;
Compare com o seu código e cite as diferenças para nós.
Abraços
28/11/2005
Roger1976
Valeu mesmo pela ajuda de vcs...
Abraços,
Clique aqui para fazer login e interagir na Comunidade :)