align=left>Porém, se desenvolvermos um Service, o mesmo é adicionado na lista de tarefas do Windows e executado assim que a máquina é ligada, e mesmo que o servidor esteja em modo de standby, o serviço continua funcionando.
Entendendo o projeto
Para entendermos melhor, vamos desenvolver uma aplicação básica que fará uma cópia simples do banco para uma nova pasta. O exemplo terá um arquivo de inicialização (INI) com a Hora, Origem e Destino da cópia (você pode adaptar para verificar juntamente os minutos). Uma thread interna “rodará” continuamente, interceptará o horário e efetuará a cópia, do arquivo GDB.
Existem n aplicabilidades para os serviços, mas para ser mais objetivo o exemplo cabe bem. Então, mão na massa.
Iniciando o projeto
Para iniciar uma nova aplicação, clique em File>New>Other e selecione a opção Service Application (Figura 1).
Figura 1. Criando uma aplicação Service Application
Note que o Delphi cria o escopo do novo projeto (arquivo DPR) como mostrado na Listagem 1.
Listagem 1. Novo projeto de serviço
program Project1;
uses
SvcMgr,
Unit1 in 'Unit1.pas' {Service1: TService};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TService1, Service1);
Application.Run;
end.
Nesse momento podemos começar a desenvolver as funções e ações, mas antes vamos entender como funciona toda essa tecnologia. O serviço, em termos visuais, pode ser comparado a um “Data Module avançado”.
Repare que o Delphi criou a unit1 e nela temos apenas uma tela branca, lembrando bastante um Data Module. Nele é possível adicionar componentes não-visuais e codificá-los normalmente.