私はDelphi 7アプリケーションで読み込み用のテキストファイルを開こうとしていますが、別のアプリケーションが既にファイルを開いているため、I/Oエラー32(共有違反)が発生しています。私は "fmOpenReadまたはfmShareDenyNone"にFileModeを設定しようとしましたが、今はこれがテキストファイルにはあてはまらないことに気付きました。Delphi - 共有違反開封のテキストファイル
他のアプリケーションで開いているテキストファイルを読む方法はありますか?
var
f: TextFile;
begin
FileMode := fmOpenRead or fmShareDenyNone; // FileMode IS NOT APPLICABLE TO TEXT FILES!!
AssignFile(f, FileName);
Reset(f);
なぜあなたはテキストファイルに熱心ですか?適切なファイルアクセスと共有モードを可能にするストリームクラスを使用してみませんか? – mghie
私は一度に1行を読みたいので、TFileStreamにはそのためのメソッドがありません。私は、バッファをいっぱいに読んでCR/LFで分割できると思います。 – Simes
'TStreamReader'を使って' TFileStream'から行を読み込むことができます。これは 'ReadLine()'メソッドを持ち、バッファリングを内部的に行います。 –