Procurar
Contribue ao Fórum
Opção 1
Opção 2
Evitar que a aplicação trave ao executar um processo grande
Página 1 de 1
Evitar que a aplicação trave ao executar um processo grande
Olá Pessoal,
Já devemos ter precisado executar um comando muito grande e, para ficar mais amigável ao usuário, colocar uma barrinha de progresso, para avisá-lo em que estágio de processamento está.
Porém, nos deparamos com um pequeno problema: Nossa aplicação fica travada enquanto executa o comando!! Como resolver isto?
Existe um método chamado Application.ProcessMessages; que força a aplicação processas as mensagens do sistema operacional, como por exemplo a exibição correta do form. Com isto, não só o form é visualizado corretamente, mas também nossa barrinha de progresso funciona perfeitamente.
Vejamos um exemplo simples:
Digamos que tenhamos um ADOTable com vários registros abertos e vamos percorrer um a um:
Pronto. Agora é só você implementar uma barra de progresso e colocar mais algumas perfumarias (objetos que deixam a cara do formulário mais amigável para o usuário) caso seja necessário
Já devemos ter precisado executar um comando muito grande e, para ficar mais amigável ao usuário, colocar uma barrinha de progresso, para avisá-lo em que estágio de processamento está.
Porém, nos deparamos com um pequeno problema: Nossa aplicação fica travada enquanto executa o comando!! Como resolver isto?
Existe um método chamado Application.ProcessMessages; que força a aplicação processas as mensagens do sistema operacional, como por exemplo a exibição correta do form. Com isto, não só o form é visualizado corretamente, mas também nossa barrinha de progresso funciona perfeitamente.
Vejamos um exemplo simples:
Digamos que tenhamos um ADOTable com vários registros abertos e vamos percorrer um a um:
- Código:
ADOTable1.First;
while not (ADOTable1.Eof) do
begin
lblStatus.Caption := 'Processando registro...'; // exibimos alguma mensagem
Application.ProcessMessages; // chamados o método que força o SO a desenha a janela
ADOTable1.Next; // pula para o próximo registro da tabela
end;
Pronto. Agora é só você implementar uma barra de progresso e colocar mais algumas perfumarias (objetos que deixam a cara do formulário mais amigável para o usuário) caso seja necessário
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Qui maio 14, 2015 6:42 pm por Rebourns
» Happy Wheels
Sáb maio 04, 2013 7:49 pm por Rebourns
» L2-Revenger PvP Server (servidor 24horas sem lag)
Ter Mar 05, 2013 1:44 am por Rebourns
» XTrap BYPass 22/02/12
Sex Fev 22, 2013 10:34 pm por Lucas Aurelio Muniz
» Trade haker par PW "PERFECT WORLD"
Qui Nov 29, 2012 5:13 am por lutadory
» Alakaida Project 26/04012
Seg Nov 26, 2012 2:46 pm por daudinho
» Criando Acc Permanente - Metodo Easy
Qua Nov 07, 2012 5:57 am por chrisbr
» Angry Birds Hallowen
Qui Nov 01, 2012 9:26 pm por Rebourns
» Vagas na Staff Abertas ! Acesse e saiba +
Dom Out 07, 2012 8:23 am por [B]aby[L]oves