TFileStream的问题

bbsfly1239 2011-05-05 10:42:13
TFileStream是不是不支持文件共享读写操作?比如一个程序里我用TFileStream写一个文件,在另一个程序里用TFileStream就打不开同一文件,说被另一个线程占用,读写的时候我用的都是fmShareDenyNone,有没有高手指点下。
...全文
159 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-05-11
  • 打赏
  • 举报
回复
合理的原则应该是可以共享读,写则需要锁定(否则大家都写不乱了吗)
比如共享读
TFileStream.Create(slTemp[i], fmOpenRead,fmShareDenyWrite);
若是写则要锁定打开,比如这样
TFileStream.Create(slTemp[i], fmOpenReadWrite,fmShareExclusive);

具体参考tfilestream的帮助,很详细了


madyak 2011-05-11
  • 打赏
  • 举报
回复
TFileStream不支持文件共享读写操作。
如果有这种需求可以用内存映射文件。
wm86 2011-05-11
  • 打赏
  • 举报
回复
真正写的时候才去打开文件,写完就关闭,这样就不会有问题咯
bbsfly1239 2011-05-11
  • 打赏
  • 举报
回复
谢谢,客户的需求就是想在写数据的随时可以打开文件进行分析,我也没办法,这项目半路接手的,头疼
bbsfly1239 2011-05-10
  • 打赏
  • 举报
回复
要结项目了,这问题还是没解决。
lyhoo163 2011-05-06
  • 打赏
  • 举报
回复
TFileStream写的文件与另一个执行文件是否打开该文件无关。你这是瞎操心啊。
bbsfly1239 2011-05-05
  • 打赏
  • 举报
回复
难道没有人会吗,郁闷啊
bbsfly1239 2011-05-05
  • 打赏
  • 举报
回复
真的没人会吗,急啊

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧