Bos*_*sch 5 delphi share file process
我对放在局域网中的文件有一些问题:有一个Delphi程序(服务器)应该写一些文件,只能由多个Deplhi程序(客户端)读取.我在服务器中使用这些简单的指令进行写入(DataList是一个TStrings):
Stream:=TFileStream.Create(filePath,fmOpenWrite or fmShareDenyWrite);
try
DataList.SaveToStream(Stream);
finally
Stream.Free;
end;
Run Code Online (Sandbox Code Playgroud)
如果上面的文件被修改(通过检查FileAge),客户端每5秒检查一次,如果发生了修改,它们按以下方式加载DataList:
try
Stream:=TFileStream.Create(filePath,fmOpenRead or fmShareDenyNone);
DataList.LoadFromStream(Stream);
finally
Stream.Free;
end;
Run Code Online (Sandbox Code Playgroud)
通常情况下一切都很完美,但有时会发生服务器或客户端引发异常,因为"该文件正被其他进程使用".我不明白哪个是问题:我尝试了很多替代方案,但这也可能只发生在服务器上,只有一个客户端正在运行..
有任何想法吗?
谢谢!
| 归档时间: |
|
| 查看次数: |
2574 次 |
| 最近记录: |