Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dellas Cápua

Gif Animado (ou ProgressBar) e Consulta SQL

Recommended Posts

É sempre bom informar ao seu usuário o que está acontecendo na sua aplicação ao executar algum processamento, principalmente quando envolve bancos de dados! Pois bem, sempre que executamos algum procedimento no banco, a aplicação meio que "trava" esperando o retorno. Um banco de dados com mais de 1.000.000 de registros pode demorar um bom tempo para retornar dados. Bom, atualmente eu mostro uma janela com uma imagem de lupa e os singelo dizer: "Aguarde..."! Quando eu programava no Delphi 3, eu lembro que eu tinha um componente que era um progressbar que tu colocava na aplicação, ativava e fazia a consulta. Ela ficava indo de um lado para o outro para entreter o usuário, enquanto a consulta era realizada. Mesmo porque eu não tinha como saber o tempo que levaria para realizar o processo. Agora no Delphi XE3, me deparei com um problema parecido. Tentei usar até threads para resolver, sem sucesso! Coloquei a animação dentro de uma thread. Até que funcionou, mas o componente da jvcl usado para tal era criado e chamado por ela, porém sua execução (animação) ocorria por fora, fazendo com que "congelasse" quando a consulta era iniciada!

 

Como vocês fazem nesse tipo de problema? Apenas mostra um label? Alguém tem alguma ideia de como resolver isso de uma forma mais elegante? Qualquer ideia é bem vinda...

 

Ps.: Uma progressbar também ajudaria...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos.

 

Eu costumo utilizar o componente Gauge que fica na guia Samples. Acho ele mais bonitinho do que o próprio progressbar, e por ser uma solução nativa, sem depender de terceiros.

 

O layout que costumo utilizar para ele.

 

Gauge.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eisenheim...

Quando se usa tanto o Gauge quanto o progressbar, ele meio que "trava" ao ser disparado a consulta. Eu preciso de uma solução que mantenha visualmente funcionando quando a consulta for executada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos.

 

Quando o processamento está exigindo mais do que o esperado, eu costumo utilizar a instrução Application.ProcessMessages, o que faz com que não de a falsa impressão de que minha consulta tenha "travado", mesmo enquanto estiver sendo processada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.