// in dpr:
if not Application.DelayInitialize or Application.Installing then
Application.Initialize;
Application.CreateForm(TMSService, MSService);
// and then:
procedure TMSService.ServiceStart(Sender: TService; var Started: Boolean);
begin
//initalization code
// timers are activated (timers control the real work)
end;
这是我的情景:
1)服务已安装并在服务器上设置为自动启动 - 服务正常运行(它在services.msc
中“正在运行”并且它从db =“读取/写入”真实工作“)
2)服务器重启
3)重新启动服务在services.msc
中启动但它不能从db读取/写入(=“它不是真正的工作”......)。
要使其再次读/写,我需要卸载并重新安装它,停止并启动它是不够的。我认为TMSService.ServiceStart是编写代码以在服务自动启动时执行代码的正确位置,但似乎没有。我错过了一些东西,这就是为什么问题的标题是“重启后服务器自动启动时会触发哪个事件?”。
任何提示?