Primeiro: O Servico é uma thread, por tanto vc nao precisa de um timer. Segundo: while not Terminated do begin if StrToInt(FormatDateTime('ss', Time)) = 5 then { Assim a sua proc sera executada a cada 5 segundos. Cabe a vc definir isso. } Begin Sleep(1000); // para não executar duas vezes ou mais dentro do mesmo periodo. ExecutaPocedure; end; ServiceThread.ProcessRequests(true); end;
Terceiro: Instale (executar não é instalar) o seu servico, assim ele vai funcionar. Quarto: Help -> TserviceApplication -> See also, com este caminho vc aprende a instalar. Quinto: Não da para depurar teoricamente, mas com um jeitinho bem brasileiro dah. No evento Create chame a sua procedure (ExecutaPocedure) coloque um break point, certifique que o servico não esta iniciado. Compile o prj e depure com F7. Eduardo Ps.: Se precisar estou no MSN [EMAIL PROTECTED] -----Original Message----- From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of Gabriel Moricz Sent: terça-feira, 14 de fevereiro de 2006 09:26 To: delphi-br@yahoogrupos.com.br Subject: [delphi-br] Application Service + Não Funciona + Como debugar. Bom dia pessoal.. Estou com um problema e não sei o que o causa.. Estou criando uma Application Service. Esse application service roda no On ServiceExecute (não criando threads). onde o SerciceExecute faz o seguinte: procedure TService1.ServiceExecute(Sender: TService); begin timer.enabled := true; while not Terminated do begin ServiceThread.ProcessRequests(true); end; timer.enabled := False; ServiceThread.ProcessRequests(false); end; Porem no momento do OnTimer. ele não executa as queries e etc que seria necessário efetuar. Então tentei. procedure TService1.ServiceExecute(Sender: TService); const secs = 5; var count : integer; begin count := 0; while not Terminated do begin inc(count); if (count > secs) then begin count := 0; ExecutaPocedure; end; sleep(1000); ServiceThread.ProcessRequests(true); end; end; Porem. também não funcionou (não chamou a ExecutaProcedure), e pior, ele finaliza o serviço depois dos 5 segundos. Minha aplicação faz uma requisição ao banco. e envia SMS de acordo com a requisição. Ahhh..Já que estou na pergunta. Como faço para debugar essa aplicação. Também não consegui. Muito Obrigado a todos.. Gabriel Moricz -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html