Array
(
)

Porque o Ttimer para de dispara ao acessar uma rotinas ?

Ant.carlos/sp
   - 07 mar 2006

:oops:
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


Adriano Santos
   - 08 mar 2006


Citação:
:oops:
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


O que vc tem em Processar_aquivos??? Já tentou usar Application.ProcessMessages ???


Ant.carlos/sp
   - 08 mar 2006



Caro amigo!

1-O que vc tem em Processar_aquivos???
2-Já tentou usar Application.ProcessMessages ???
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 ?


2-Já tentou usar Application.ProcessMessages

Como usar Application.ProcessMessages x Ttimer em relação ao q eu desejo fazer ? :?:

T+

ANT.CARLOS/SP