从服务访问文本文件

时间:2015-03-22 12:41:19

标签: delphi service delphi-xe7

我正在尝试在安装了Delphi的Win7 64位虚拟机中的Delphi XE7中编写一个简单的服务。 我现在需要的只是打开/创建一个文本文件并每秒写入一些内容。它应该很简单......应该......

创建服务并安装后,它立即运行良好。 我添加了这段代码:

const
  LogName = 'C:\GFLog.txt';

var FLogFile : TextFile;

procedure TServiceTest.ServiceExecute(Sender: TService);

begin
  ServiceThread.ProcessRequests(False);
  try
    AssignFile(FLogFile, LogName);
    if not FileExists(LogName)
      then Append(FlogFile)
      else Rewrite(FlogFile);
    WriteLn(FLogFile,'Start '+TimeToStr(Now));

    while not Terminated do
    begin
      WriteLn(FLogFile,TimeToStr(Now));
      Sleep(1000);
      ServiceThread.ProcessRequests(False);
    end;

    CloseFile(FLogFile);
  except
    on E:Exception do
      ShowMessage(E.Message)
  end;
end;

因此,文件未创建,没有显示错误,我无法理解原因。 当然,我做错了什么,但是什么?

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

好的,解决了......复制并粘贴错误......我感觉很愚蠢,但是......

if not FileExists(LogName)
  then Append(FlogFile)
  else Rewrite(FlogFile);

我试图附加到不加上文件......