none
Timer RRS feed

  • Pergunta

  • Pessoal tenho uma aplicação que tem que ficar executando uma determinada rotina de atualização de dados para isso tenho um Timer que atualiza de 5 em 5 minutos.

    O processo funciona assim: a rotina entra em operação e o timer é parado com o timer.Stop() se a rotina gerar algum erro dentro do bloco try catch eu faço com que o timer volte a ficar ativo timer.Start().
    Mas essa parte não esta funcionando ou seja se a rotina terminar o timer não esta voltando a ficar ativo novamente

    Alguem sabe o que poderia estar ocorrendo.


    Junior

    segunda-feira, 9 de novembro de 2015 16:56

Todas as Respostas

  • Você está setando a propriedade Enabled para true? posta seu código, por favor!
    segunda-feira, 9 de novembro de 2015 18:07
  • Esta da seguinte forma:
    O timer ja esta como enable = true

    timer.Stop();
    atualizar();
    // ---> dentro desse metodo atualizar() no finally eu ativo o timer novamente timer.Start();

    Dessa forma eu desativo o timer executo o processo com o timer parado pois não quero que o timer seja executado enquanto a tarefa esta sendo executada pois não sabemos quanto tempo ela leva para terminar e caso ocorra algum problema ou caso ela termine quero que ela se inicie novamente pois minha rotina tem que ficar executando a todo o tempo. Mas mesmo com o uso do metodo Start() do timer ele não executa o timer novamente


    Junior

    segunda-feira, 9 de novembro de 2015 18:44
  • Resolvido pelo menos por enquanto
    Criei uma variavel char com os valores S ou N e faço um teste dentro do evento tick do timer dependendo da ação que realizo dentro da minha rotina passo os valores S ou N onde S=rotina do timer ativa e N=rotina desativada

    Timer_Tick() .....
    if(cTimer == 'S')
       if(timer.interval == 30000){
        // rotina
       {
    }

    Junior

    segunda-feira, 9 de novembro de 2015 20:01