News & Events
Errata: Correção artigo sobre serviços
- 11 de maio de 2007
- Posted by: Adriano Santos
- Category: artigo cd81 clubedelphi delphi [Arquivo]
Nenhum comentário
Difficulty level not set for this Post
Olá pessoal,
Pra quem leu meu artigo sobre Serviços no Windows na edição 81 da revista ClubeDelphi deve ter tido problemas pra executar o exemplo devido a um pequeno erro na função Execute da unit da Thread.
O backup só é efetuado apenas uma vez, pois após a primeira cópia os dados do arquivo config.ini não são lidos novamente. Isso significa que as variáveis HoraBackup, OrigemBackup e DestinoBackup ficam sempre iguais.
Abaixo segue o código para a função Execute refeito e o exemplo corrigido basta pegar na seção Bugs e Debugs.
Boa leitura
procedure TServicoThread.Execute;
var
Config : TIniFile;
HoraBackup : TDateTime;
Origem : string;
Destino : string;
nmBackup : string;
begin
Config := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'config.ini');
while not Terminated do
begin
with Config do
begin
HoraBackup := ReadTime('CONFIG', 'HORA', HoraBackup);
Origem := ReadString('CONFIG', 'ORIGEM', Origem);
Destino := ReadString('CONFIG', 'DESTINO', Destino);
end;
FreeOnTerminate := False;
if Time = HoraBackup then
begin
nmBackup := FormatDateTime('YYYYMMDD HHNNSS', Now) + '.mdb';
CopyFile(PChar(Origem), PChar(ExtractFilePath(Destino) + nmBackup), False);
end;
end;
end;
Parabéns, sua inscrição no Feed RSS foi aceita. Leia em primeira mão todas as notícias do blog.
Siga @tdevrocks no Twitter agora e fique por dentro de todas as atualizações do blog.
Siga também o autor @asrsantos
Author: Adriano Santos
Adriano Santos é especialista em linguagens de desenvolvimento, Embarcadero MVP, possui +1000 artigos e vídeo-aulas publicadas em revistas e websites especializados, ex-editor chefe das revistas ClubeDelphi e WebMobile. Atualmente Diretor de Operações na startup GET IT! Technology e Consultor Senior na Embarcadero do Brasil.