나는 (TIdHTTPWebBrokerBridge
을 통해) HTTP 웹 서버 응용 프로그램에서 작업 중이며 스트림으로 파일을로드 할 때 약간의 문제가 있습니다 (TFileStream
). 고객. 그것은 모든 시간을 발생하지 않습니다,하지만 아주 무작위 ... 나는 예외가 계속 ...파일을 스트림으로로드 할 때 델파이 HTTP 응용 프로그램에서 발생하는 오류가 발생했습니다.
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' ... 코드에서 공유 모드를 사용하지 않는 것은 필요한 모든 그게 전부입니다 문제를 해결하려면 http://docwiki.embarcadero.com/Libraries/en/System.Classes.TFileStream.Create – ain