use*_*275 6 delphi windows-services
我在delphi中创建了一个Windows服务.我的代码在ServiceExecute中运行
procedure TMyService.ServiceExecute(Sender: TService);
 while not Terminated do
 begin
      CallSomeProcedure;  
      Sleep(1000);
      ServiceThread.ProcessRequests(false);
 end;
end;
不幸的是,我无法运行此代码.即使在我调试时,我似乎也没有调用该过程.Myservice.exe中的代码如下所示.
begin 
    if not Application.DelayInitialize or Application.Installing then
       Application.Initialize;
    Application.CreateForm(TMyService, MyService);
    Application.Run;
end.
如果我添加,我可以运行serviceExecute
MyService.ServiceExecute(nil);
进入MyService.exe然而,如果我将其作为服务安装,它似乎不会作为Application.Run什么也不做
不知道我做错了什么,但任何帮助都会非常感激.
谢谢
如果您已经创建了服务,则可以通过使用参数运行它来安装它/install
之后,该服务应该显示在您的其他服务之间(转到start/run/并输入services.msc)。
然后您可以启动它,并且可以通过附加调试器来调试它。
然而,这样的工作是痛苦的。我不敢相信有些人实际上是这样工作的。我通常将所有业务逻辑放在单独的单元中,我可以从“普通”应用程序运行它们。只有当效果良好时,我才会将其包装在服务中并尝试。
有时我什至创建一个既可以作为服务运行也可以通过 GUI 运行的应用程序。您可以简单地实例化您的服务类。你只需要自己启动它,但是调试起来会容易很多。
| 归档时间: | 
 | 
| 查看次数: | 6494 次 | 
| 最近记录: |