为什么System.IOUtils函数和TStreamReader使用fmShareCompat?

时间:2014-04-29 08:47:01

标签: delphi delphi-xe2 share file-access

当我第一次看到System.IOUtils单元的TFile.ReadAllBytesTFile.ReadAllText以及TStreamReader中的TBinaryReaderSystem.Classes类时很高兴有简单的方法来读取二进制文件和文本文件。

使用它们一段时间后,我注意到默认共享模式是隐式fmShareCompat,因为它们都使用TFileStream.Create,但没有明确指定共享模式。

由于fmShareCompat在Windows上被视为fmShareExclusive,因此在使用时会导致文件锁定问题。

这是Delphi开发人员的疏忽吗?或者是否有理由默认不使用fmShareDenyWrite

为什么没有办法指定共享模式?

我现在很想写这些类的自己版本,以使它们更友好地分享。

0 个答案:

没有答案