程式需要讀取一個文本檔案進行處理,實作代碼大致如下:
assignfile(f,'test.txt');
reset(f);
readln(f,s);
...
用來讀取未被其它程式打開,或者已經被notepad、word、ultraedit打開的文本檔案,一切正常,但用于打開正在由securecrt等軟體記錄的日志檔案,則出現i/o error 32,除非把securecrt關閉,這個檔案又可以正常讀取,問題應該是由于該檔案被占用,我的程式不允許打開它,而這種情況下用ultraedit和notepad還是可以打開這種日志檔案的,請教它們是怎么實作的?有何解決辦法?
謝謝
uj5u.com熱心網友回復:
這樣試試var
F:TFileStream;
begin
F:=TFileStream.Create('test.txt',fmOpenReadWrite or fmShareDenyNone);
end;
uj5u.com熱心網友回復:
用TFileStream.Create這個方法也試過的,結果也是一樣的。。。uj5u.com熱心網友回復:
用共享方式打開檔案。uj5u.com熱心網友回復:
已經被別的程式用獨占模式打開了,我要打開這個檔案,請詳細說一下怎么用共享模式打開呢?uj5u.com熱心網友回復:
已經解決,使用TFileStream.Create方法uj5u.com熱心網友回復:
以前也遇到這個問題,現在知道了,thank u轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/108796.html
標籤:語言基礎/算法/系統設計
