Когато за първи път видях модула System.IOUtils
с функции като TFile.ReadAllBytes
и TFile.ReadAllText
и класовете TStreamReader
и TBinaryReader
в System.Classes
, бях доста развълнуван, че имам лесни начини за четене на двоични и текстови файлове.
След като ги използвах известно време, забелязах, че режимът на споделяне по подразбиране имплицитно е fmShareCompat
, тъй като всички те използват TFileStream.Create
, но не посочват изрично режим на споделяне.
Тъй като fmShareCompat
се третира като fmShareExclusive
в Windows, това води до проблеми със заключването на файлове при използването им.
Това пропуск от страна на разработчиците на Delphi ли е? Или има причина да не използвате fmShareDenyWrite
по подразбиране?
Освен това защо няма начин да се посочи режим на споделяне?
Сега съм изкушен да напиша моя собствена версия на тези класове, за да ги направя по-удобни за споделяне.