DicasBCB
Bem-vindo: Qui Set 09, 2010 10:14 am

Todos os horários são GMT - 3 horas




Criar novo tópico Responder  [ 3 mensagens ] 
Autor Mensagem
 Título: Como implementar um timer para rodar BackGround
MensagemEnviado: Ter Fev 09, 2010 9:40 am 
Offline

Registrado em: Ter Fev 09, 2010 9:16 am
Mensagens: 1
Olá pessoal,
Estou trabalhando em uma API que irá rodar na SystemTray do Windows.
O que ele deve fazer:
-Checa a conexão de 3 em 3 segundos
-Caso conectado:
* Adiciona um icone verde na SystemTray
-Caso desconectado:
*Adiciona um icone vermelho na SystemTray

Problemas encontrados:
Encontrar um timer que não trave o aplicativo;
Existe o componente timer do proprio builder, mais como a api deve rodar stand alone cresce muito o tamanho do API.

Encontrei a documentação usando thread, porém quero uma solução mais rapida.
Alguem tem alguma sugestão?
Aguardo...


Voltar ao topo
 Perfil E-mail  
 
 Título: Re: Como implementar um timer para rodar BackGround
MensagemEnviado: Qua Fev 10, 2010 5:34 am 
Offline
Hitokiri Battousai
Avatar do usuário

Registrado em: Ter Ago 30, 2005 10:05 am
Mensagens: 1070
Para criar uma rotina seqüencial que não trave e não dependa das outras, o jeito é usar thread mesmo, não é compexo, basta criar uma função com uma certa pre-definição, nela usaria um loop infinito com Sleep, mas em vez de chamar a função normalmente, usaria CreateThread (ou a classe do VCL).

_________________
B) Pod Crê 8)
Imagem


Voltar ao topo
 Perfil  
 
 Título: Re: Como implementar um timer para rodar BackGround
MensagemEnviado: Seg Fev 22, 2010 10:13 pm 
Offline

Registrado em: Sex Ago 04, 2006 12:44 pm
Mensagens: 105
Olá

Outra forma de implementar um timer é usando a função SetTimer. Ela permite você associar uma janela que receberá a mensagem WM_TIMER ou então associar uma função diretamente que irá ser executada cada vez ou ainda pode se não informar nem a janela nem a função de retorno filtar na propria fila de mensagens da sua aplicação a mensagem WM_TIMER do ID retornado pela função SetTimer.
No help do C-Bulder tem mais detalhes desta função, ou se vc pesquisar no site do MSDN vai encontrar também:
SetTimer


Voltar ao topo
 Perfil E-mail  
 
Exibir mensagens anteriores:  Ordenar por  
Criar novo tópico Responder  [ 3 mensagens ] 

Todos os horários são GMT - 3 horas


Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante


Enviar Mensagens: Proibido
Responder Mensagens: Proibido
Editar Mensagens: Proibido
Excluir Mensagens: Proibido
Enviar Anexos: Proibido

Procurar por:
Ir para:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzido por: Suporte phpBB