Fórum Tela de espera enquanto executa tarefas #287813

12/07/2005

0

Olá pessoal,

Meu aplicativo trabalha com MySQL e realiza algumas transações com o banco que, dependendo da disponibilidade do mesmo (local ou remota), demora alguns segundos.

Gostaria de alguma dica de como construir uma tela de espera para o usuário, para o usuário não pensar o ´sistema travou´. Uma tela simples como estamos acostumados ver por ai ´aguarde...´

Alguem já fez algo parecido e pode me ajudar?

Obrigado,

Pablo


Pablobr

Pablobr

Responder

Posts

13/07/2005

Araujojunior

Faz o processamento com um ProgressBar q eh mais fácil ;)


Responder

Gostei + 0

13/07/2005

Pablobr

Valeu pela dica amigo, mas não ficaria bom, pois em alguns casos, por exemplo quando o aplicativo está testando a conexão com o banco, criando as tabelas etc, ficaria estranho 1 progressbar.

Alguém mais tem alguma idéia ae?

Obrigado,

Pablo


Responder

Gostei + 0

13/07/2005

Crashovewrite

pablobr... agente aqui na empresa fazemos o seguinte:

1) Adicione um Panel e escreva algo tipo ´Processando..´ e deixe-o visible do Panel = False

2) quando chamares a algum processamento (num laço por exemplo) faça o componente Panel.Visible:= True e no Final do Processamento faça o visible do Panel receber novamente False. Esperimente fazer isso e poste no fórum para ver o que achou...



Um abraço CrashOvewrite


Responder

Gostei + 0

13/07/2005

Pablobr

Boa idéia, mas não estou conseguindo por em prática.

O problema esta no seguinte:

No meu aplicativo o usuário informa os dados do banco e testa a conexão com o mesmo. Exemplo: nome do banco, ip do servidor, usuario e senha do banco. Aí tem um botão testar, onde com esses parametros eu tento realizar uma conexão com o banco.

Acontece que se o usuário especificar um ip errado, etc, o aplicativo fica um tempo ocioso. É nesse tempo ocioso que eu gostaria de mostrar um tela de espera.

Testando com o Panel ou com um Form com apenas um Label, o aplicativo nem chega a exibir direito esse Panel ou Form. Ele fica visível, mas o conteúdo do Panel ou Form nem aparece, então fica pior ainda.

Alguem tem mais alguma sugestão?

Estou tentando aqui, se conseguir posto aqui.

Obrigado,

Pablo


Responder

Gostei + 0

13/07/2005

Araujojunior

Panel1.Visible := True;
Application.ProcessMessages;

Tinha esse problema e dessa forma funciona legal ;)


Responder

Gostei + 0

13/07/2005

Pablobr

Valeu pessoal pelas dicas,

Usei em vez de um Label um Form com botões e imagens, ficou bem legal, pois agora em caso de erro eu exibo a mensagem em um Memo nesse form.

Obrigado a todos,

Pablo


Responder

Gostei + 0

13/07/2005

Pablobr

Somente uma coisa eu nao conseguir fazer, fazer com que um gif animado rode nesse novo form para o usuário perceber que o aplicativo está rodando.
O gif fica parado e depois que alguma mensagem é retornada (conectou ao banco ou deu erro) é que ele fica animado. Estranho.

Alguem tem alguma idéia?

Obrigado,

Pablo


Responder

Gostei + 0

14/07/2005

Fabio Nascimento

Tente isso após dar show no form:

Formulario.Update;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar