Fechar uma MessageDlg com timer

Delphi

15/04/2005

Olá comunidade,
Estou trabalhando em um sistema que faz atualização pela internet. O Usuário pode programar e deixar a atualização no automático também.

Foi feito um tratamento de erro que indique a resposta do servidor de arquivos na internet caso a conexão tenha problemas. São feitas 4 tentativas ao todo, existem dois servidores, se falhar uma conexão é tentada com o outro se falhar tenta novamente e assim por diante.

A rotina funciona legal. Se o usuário estiver fazendo a atualização e aparecer a mensagem ele clique em OK e daí prossegue. O problema é se estiver no automático a MESSAGEDLG SÓ FECHAR SE CLICAR EM OK.

Gostaria que alguém me ajudasse. A mensagem deve aparecer indicando o problema com a conexão, mas se o usuário não estiver presente que a janela se feche depois de um tempo por exemplo 10 segundos.

Grato,

mazeu :roll:


Mazeu

Mazeu

Curtidas 0

Respostas

Hjpezzo

Hjpezzo

15/04/2005

Um processo interessante seria ao invés de utilizar-se do MessageDlg, você poderia montar um form com o texto que você precisa e um botão para que seja fechado pelo usuário.

Na sua rotina principal, ao invés de chamar o MessagDlg, você faria mais ou menos o seguinte:

frmMensagem := TfrmMensagem.Create(Self);
tmrTempo.Enabled := True;
frmMensagem.Show;

e no evento onTimer, poderia colocar
frmMensagem.Close;
tmrTempo.Enabled := False;

Isso deve resolver sua situação..

Desculpe o exemplo ruim, mas estou meio corrido..
Abraço


GOSTEI 0
POSTAR