Porque o Ttimer para de dispara ao acessar uma rotinas ?
07/03/2006
0
Olá!
Tenho o seguinte problema.
Tenha uma rotina pesada de processamento, q leva pelo menos 3 minutos, leitura de 12 meses de movimentos p/ calc média mensal.
Como não posso por uma barra de progresso, resolvi por um Timer p/ preencher uma barra de progresso, pelo menos p/ o usuario ver q o programa está rodando.
Mas o problema surgiu, quando tive que acessar uma rotinas, o Timer parou de disparar, e só volta qdo a rotina retorna a raiz.
Algum saberia com contornar isso, fora usar Threaders.
Ex:
Procedure TForm1.Inicio()
Begin
Timer ok funciona....
Processar_aquivos() ... neste ponto o timer trava
neste ponto o time funciona...
End;
Desde já meus agradecimentos.
ANT.CARLOS/SP
Ant.carlos/sp
Posts
08/03/2006
Adriano Santos
Olá!
Tenho o seguinte problema.
Tenha uma rotina pesada de processamento, q leva pelo menos 3 minutos, leitura de 12 meses de movimentos p/ calc média mensal.
Como não posso por uma barra de progresso, resolvi por um Timer p/ preencher uma barra de progresso, pelo menos p/ o usuario ver q o programa está rodando.
Mas o problema surgiu, quando tive que acessar uma rotinas, o Timer parou de disparar, e só volta qdo a rotina retorna a raiz.
Algum saberia com contornar isso, fora usar Threaders.
Ex:
Procedure TForm1.Inicio()
Begin
Timer ok funciona....
Processar_aquivos() ... neste ponto o timer trava
neste ponto o time funciona...
End;
Desde já meus agradecimentos.
ANT.CARLOS/SP[/quote:5044e33610]
O que vc tem em Processar_aquivos??? Já tentou usar Application.ProcessMessages ???
08/03/2006
Ant.carlos/sp
Caro amigo!
[color=olive:ff60bc9fbb]1-O que vc tem em Processar_aquivos???
2-Já tentou usar Application.ProcessMessages ???[/color:ff60bc9fbb]
Nesta rotina tenho q executar 1 Sqls (Vendas do ultimos 12 meses e carregar um Cds) e prepará-lo p/ impressao com os calculos.
Desejaria qdo estivesse executando a SQL usar um Timer que ficaria disparando e carregando uma barra de progresso p/ q o usuario visse q o processamento estava andando. Mas ao executar a procedure, o Timer p/ de disparar, não entendi nada.
Alguem saberia porque isso acontece ?
[color=olive:ff60bc9fbb]2-Já tentou usar Application.ProcessMessages [/color:ff60bc9fbb]
Como usar Application.ProcessMessages x Ttimer em relação ao q eu desejo fazer ? :?:
T+
ANT.CARLOS/SP
Clique aqui para fazer login e interagir na Comunidade :)