初学者提问:服务程序定时执行的有关问题!(谢谢帮忙,解决后马上给分!)

菜鸟提问:服务程序定时执行的问题!(多谢帮忙,解决后马上给分!)
我写了一个服务程序,定时读取机器上的某个文件并写到数据库中。
可是,程序无法定时执行。麻烦帮忙看一下!
我在服务程序中加了一个TTimer,将需要定时执行的代码放在了OnTimer中,
其中Interval是从注册表中读出来的。
注册表的读取是放在AfterInstall中,可是现在执行完并没有执行OnTimer中的程序。我已将服务install,并启动后了。

请问各位这是怎么回事?是我哪个地方写的还有问题?

------解决方案--------------------
注意,这种方法只限于计时精度要求不高的情况下

procedure TService1.ServiceExecute(Sender: TService);
const
Interval : DWORD = 1000;
var
BeginTime : TDateTime;
begin
//开始运行时间
BeginTime := GetTickCount();
while not Self.Terminated do
begin
if MilliSecondOf(GetTickCount()-BeginTime)> =Interval then
SomeThing();

BeginTime := GetTickCount();
end;
end;

------解决方案--------------------
在ServiceStart里控制是否启用你的timer