我有一个名为DataCapture.dpr的基本文件,

program DataCapture;

内。

然后,我不得不给服务本身加上另一个名称,以避免名称冲突:
TDataCaptureService = class(TService)

现在,当我注册它时,该服务将在“DataCaptureService”注册表项下注册,但是我想要:
  • 要在“DataCapture”注册表项
  • 下注册
  • 保留DataCapture.exe文件名
  • 保留DataCapture.dpr文件名

  • 如何实现呢?

    最佳答案

    仅在设计时由IDE强制执行命名冲突预防。为了避免这种情况,您可以在运行时简单地设置服务名称,例如在OnCreate事件中:

    Name := 'DataCapture';
    

    或者最好是重写DoCreate方法,因为OnCreate是用于外部事物的:
    procedure TDataCaptureService.DoCreate();
    begin
      Name := 'DataCapture';
      inherited;
    end;
    

    10-04 15:19