Estoy tratando de abrir un archivo de texto para leer en una aplicación Delphi 7, pero estoy recibiendo error I/O 32 (violación de uso compartido) porque otra aplicación ya tiene el archivo abierto. Intenté configurar FileMode en "fmOpenRead o fmShareDenyNone", pero ahora me doy cuenta de que esto no se aplica a los archivos de texto de todos modos.Delphi: infracción de uso al abrir archivo de texto
¿Hay alguna forma de leer archivos de texto abiertos por otra aplicación?
var
f: TextFile;
begin
FileMode := fmOpenRead or fmShareDenyNone; // FileMode IS NOT APPLICABLE TO TEXT FILES!!
AssignFile(f, FileName);
Reset(f);
¿Por qué le gustan tanto los archivos de texto? ¿Por qué no utilizar las clases de flujo que permiten el acceso adecuado a archivos y modos de uso compartido? – mghie
porque quiero leer una sola línea a la vez, y TFileStream no tiene métodos para eso. Supongo que podría leer un búfer lleno y dividir en CR/LF. – Simes
Puede usar 'TStreamReader' para leer líneas de un' TFileStream'. Tiene un método 'ReadLine()', y hace el almacenamiento en búfer internamente para usted. –