Como chamar uma API pela Tag Timer?

Boa noite pessoal

Gostaria de chamar uma API que retorna um objeto JSON em um período determinado.

Tentei então usar Tag Timer para resolver o problema.

Para a leitura da API, usei como base o artigo: http://kb.elipse.com.br/pt-br/questions/5363/Consumindo+e+enviando+dados+de+um+webservice+que+utiliza+o+formato+JSON.

Copiei o script que está no evento CommandButton1_Click() do artigo para o evento OnPreset() do meu Timer. Mas ele não chamou a API.

Já testei o Timer isoladamente colocando no evento OnPreset() somente o comando Application.Trace "Mensagem" e funcionou perfeitamente gerando o arquivo TXT no diretório do projeto.

Inclusive, com o código da chamada da API no OnPreset() do Timer, nem o comando Application.Trace funciona.

Preciso fazer mais alguma configuração?

Ricardo,

O script do exemplo faz referência à alguns objetos de tela (Screen.Item). Você chegou a adaptar essa parte do script?

Olá Paulo

Adaptar você fala retirar as referências aos objetos de tela?

Porque a ideia seria pegar os resultados da API e mostrar na tela.

Não posso acessar os objetos pelo timer?

Não, os objetos de tela não são acessíveis de scripts que não sejam da própria tela.

Você tem que armazenar os valores em Tags e associar as mesmas aos objetos de tela.

1 Like

Obrigado Paulo,

Queria aproveitar e registrar também o porquê o script não estava chamando a API. Como o último End Sub não pode ser apagado, precisa colocar uma Subrotina para coincidir o número de End Sub. Coloquei uma linha Sub Vazia() e Funcionou. Agradeço ao @Fernando pela dica.

1 Like