Delphi Windows服务:编写文本文件

问题描述 投票:0回答:1

我写了一个小服务,它基本上只是将一些文本写入.txt文件,而只是不这样做。我在没有服务的情况下对其进行了测试,并编写了文件。

procedure TMyService.ServiceExecute(Sender: TService);
const
  SecBetweenRuns = 10;
var
  Count: Integer;
begin
  Count := 0;
  MyFileWriter:= TMyFileWriter.Create;

  while not Terminated do
  begin
    Inc(Count);
    if Count >= SecBetweenRuns then
    begin
      Count := 0;

      //Here i just try to write a .txt file
      MyFileWriter.WriteFile();

    end;
    Sleep(1000);
    ServiceThread.ProcessRequests(False);
  end;
end;

我需要此项服务的特殊权利吗?

file delphi service
1个回答
0
投票

谢谢您的回答。我重建服务以使用线程。它仍然不起作用,但是我现在知道了问题。

    if FindFirst('*.log', faAnyFile, SearchResult) = 0 then
    begin
      repeat
        sl := InputReader.ReadLog(SearchResult.Name);
...

我在SearchResult.Name上获得一个AccessViolation。SearchResult属于TSearchRec类。就像我之前说过的,如果我不将程序作为服务启动,它就可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.