3

この QC レポートによると、Delphi はファイル共有モードFILE_SHARE_DELETEをサポートしていません。

http://qc.embarcadero.com/wc/qcmain.aspx?d=45628

このモードを TFileStreams で使用する必要があります。ライブラリ コードを変更したり、ライブラリから一連のものを複製したりしない簡単な回避策を考えられる人はいますか?

4

1 に答える 1

5

QCレポートは正しいです。 TFileStream(より具体的には、SysUtils.FileOpen()関数)はをサポートしていませんFILE_SHARE_DELETE。とのみをサポートFILE_SHARE_READFILE_SHARE_WRITEます。

TFileStreamネイティブでサポートされている以上の共有権限を使用するには、Win32 APICreateFile()関数を直接呼び出す必要があります。次に、返さTHandleStreamれるハンドルを使用してオブジェクトを作成できCreateFile()ます。

于 2012-08-28T22:47:16.710 に答える