Sto tentando di aprire un file di testo per la lettura in un'applicazione Delphi 7, ma sto ricevendo errore I/O 32 (violazione di condivisione) perché un'altra applicazione ha già il file aperto. Ho provato a impostare FileMode su "fmOpenRead o fmShareDenyNone", ma ora mi rendo conto che non si applica comunque ai file di testo.Delphi - Condivisione violazione file di testo di apertura
C'è un modo di leggere file di testo aperti da un'altra applicazione?
var
f: TextFile;
begin
FileMode := fmOpenRead or fmShareDenyNone; // FileMode IS NOT APPLICABLE TO TEXT FILES!!
AssignFile(f, FileName);
Reset(f);
Perché sei così appassionato di file di testo? Perché non utilizzare le classi di flusso che consentono l'accesso corretto ai file e le modalità di condivisione? – mghie
perché voglio leggere una singola riga alla volta e TFileStream non ha metodi per questo. Suppongo di poter leggere un buffer pieno e dividere su CR/LF. – Simes
È possibile utilizzare 'TStreamReader' per leggere le righe da un' TFileStream'. Ha un metodo 'ReadLine()' e fa il buffering internamente per te. –