Problema num simples form de mensagem

Delphi

15/07/2005

Olá amigos, criei um form super simples, apenas com um label para apresentar uma mensagem ao usuário em processos demorados. Coloquei-o para criar automaticamente, e quando vou iniciar um processo chamo assim através uma função:

procedure TfMenu.AbreMensagem(vTit,vLab: string);
begin
   fMensagem.Caption             := vTit;
   fMensagem.LabMensagem.Caption := vLab;
   fMensagem.Update ;
   fMensagem.Show;
end;


E após o processo, encerro-o assim:

procedure TfMenu.FechaMensagem;
begin
   fMensagem.Close ;
end;


O problema ocorre por exemplo, ao iniciar o sistema para iniciar a dll do cupom fiscal, como a mensagem, daí acesso qualquer form e quando saio dele me aparece sempre a tela de login, e o sistema está funcionando perfeitamente sem a mensagem. O interessante é que o form de login é criado em runtime e destruído logo após, como mostro abaixo o evento activate do form principal.

 try
            Application.CreateForm(TfLogin, fLogin);
            fLogin.ShowModal;
            if fLogin.BotaoOk.ModalResult <> mrOk then
               begin
                  DM.Conexao.Connected := False;
                  Application.Terminate ;
               end;
         finally;
            fLogin.Release;
         end;
         ECF_Ativar;


Esta é a função ativar ECF:
procedure ECF_Ativar;
begin
   if fMenu.Terminal[1] <> ´0´ then
      begin
         fMenu.AbreMensagem(´Aguarde´,´Inicializando ECF...´);
         if fMenu.Terminal[1] <> ´1´ then
            ECF_Retorno(InicializaDLL(fMenu.Terminal[1]));
         fMenu.FechaMensagem ;
      end;
end;


Se retiro da procedure ECF_Ativar as chamadas as funções AbreMensagem e FechaMensagem, tudo funciona perfeitamente.

Espero que possam me auxiliar

Um abraço


Aldus

Aldus

Curtidas 0

Respostas

Kapak

Kapak

15/07/2005

O evento onActivate pode ocorrer várias vezes na sua aplicação. Será que o problema não é esse ?


GOSTEI 0
Aldus

Aldus

15/07/2005

Bingo kapak, obrigado pela ajuda, era somente isso, mudei as instruções do onActivate para o onshow e está ok.

Bom fim de semana

Até


GOSTEI 0
Aldus

Aldus

15/07/2005

Bingo kapak, obrigado pela ajuda, era somente isso, mudei as instruções do onActivate para o onshow e está ok.

Bom fim de semana

Até


GOSTEI 0
POSTAR