Как использовать TFileStream с FILE_SHARE_DELETE?
В этом отчете о контроле качества говорится, что Delphi не поддерживает режим обмена файлами FILE_SHARE_DELETE
http://qc.embarcadero.com/wc/qcmain.aspx?d=45628
Мне нужно использовать этот режим с TFileStreams. Может ли кто-нибудь придумать простой обходной путь, который не включает изменение кода библиотеки или дублирование множества материалов из библиотеки?
1 ответ
Отчет о КК верен. TFileStream
(более конкретно, SysUtils.FileOpen()
функция) не поддерживает FILE_SHARE_DELETE
, Поддерживает только FILE_SHARE_READ
а также FILE_SHARE_WRITE
,
Для того, чтобы использовать права совместного использования сверх того, что TFileStream
изначально поддерживает, вам придется вызывать Win32 API CreateFile()
функции, то вы можете построить THandleStream
объект с помощью ручки, которая CreateFile()
возвращается.