私はHTTP Webサーバーアプリケーション(TIdHTTPWebBrokerBridge
経由)で作業していましたが、ファイルをストリームにロードするときに少し問題があります(TFileStream
)。クライアント。それは毎回発生しませんが、かなりランダムに...私は例外を取得...ファイルをストリームにロードするときに発生するDelphi HTTP Appのエラーが発生しました。
Cannot open file "C:\SomePath\SomeFile.html". The process cannot access the file because it is being used by another process
を保つことが、このライン上で起こる:
Str:= TFileStream.Create('C:\SomePath\SomeFile.html', fmOpenRead);
(strがあることTFileStream
)
私はそのメッセージが自己について語っていると仮定していますが、絶対に避ける必要があります。この例外はデバッグモードでのみ発生しますが、このメッセージを常に取得することを心配することなくこの問題をデバッグする必要があります。
奇妙なことに、ほとんどの場合、ファイルはロードされてとにかく戻されます。
どうすればこの問題を回避できますか?それでなぜ読んだだけであっても、二度以上それを開くことができないのでしょうか?
へ
変更この
さて、あなたはおそらく 'fmShareDenyWrite'または' fmShareDenyNone'は、すべてのthatsが必要であるを使用して...あなたのコード内で共有モードを使用していません問題を解決するには、http://docwiki.embarcadero.com/Libraries/en/System.Classes.TFileStream.Create – ain