Я работал над приложением HTTP Web Server (через TIdHTTPWebBrokerBridge
), и у меня возникла небольшая проблема, когда дело доходит до загрузки файлов в потоки (TFileStream
) для отправки клиенту.Это происходит не каждый раз, но совершенно случайно ... Я получаю исключение ...
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
)
Я предполагаю, что сообщение говорит само за себя, но мне абсолютно необходимо его избежать.Это исключение происходит только в режиме отладки, но мне нужно отлаживать эту вещь, не беспокоясь о том, чтобы постоянно получать это сообщение.
Странно, но в большинстве случаев файл загружается и отправляется обратно в любом случае.
Как я мог избежать этого?И почему он может не позволить мне открыть его более одного раза, даже если он доступен только для чтения?