TFileStream是不是不支持文件共享读写操作?比如一个程序里我用TFileStream写一个文件,在另一个程序里用TFileStream就打不开同一文件,说被另一个线程占用,读写的时候我用的都是fmShareDenyNone,有没有高手指点下。

解决方案 »

  1.   

    TFileStream写的文件与另一个执行文件是否打开该文件无关。你这是瞎操心啊。
      

  2.   

    合理的原则应该是可以共享读,写则需要锁定(否则大家都写不乱了吗)
    比如共享读
    TFileStream.Create(slTemp[i], fmOpenRead,fmShareDenyWrite);
    若是写则要锁定打开,比如这样
    TFileStream.Create(slTemp[i], fmOpenReadWrite,fmShareExclusive);具体参考tfilestream的帮助,很详细了
      

  3.   

    TFileStream不支持文件共享读写操作。
    如果有这种需求可以用内存映射文件。