微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在delphi中创建Windows服务

我在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什么也不做

不知道我做错了什么,但任何帮助都会非常感激.

谢谢

解决方法

您不能只从IDE运行服务来调试它;在那种情况下,它将退出.该服务必须由服务控制管理器启动.此外,您不应该直接调用ServiceExecute.

这是documentation如何调试服务.

原文地址:https://www.jb51.cc/delphi/101480.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐