- Код: Выделить всё
- // просматриваем исходные файлы
 for i:=0 to lstFiles.Lines.Count - 1 do
 begin
 //сначала считывается и обрабатывается исх. файл
 lstSource.LoadFromFile(lstFiles.Lines[i]);
 ...
 //результат обработки пишем в результирующий файл
 AssignFile(OutFile, OutFileName);
 try
 Append(OutFile);
 
 //запись информации
 write(OutFile, CadNom + SEPARATOR);
 write(OutFile, Owner + SEPARATOR);
 ...
 writeln(OutFile, ActRegDate); //формируем переход на след. строку
 CloseFile(OutFile);
 except
 on E:EInOutError do
 DebugLn('Error: ' + E.Message);
 end;
 end;
При большом количестве исходных файлов (4000 и больше), ближе к концу списка начинает возникать ошибка "Access denied" на строке Append(OutFile). Файл-результат больше нигде не используется, после записи каждой порции данных закрывается. Пробовал вынести открытие и закрытие результирующего файла за пределы цикла (чтобы не открывать файл при записи новой порции данных) - не помогло.
В чем может быть проблема и как лучше организовать процесс записи (пишутся строки разной длины)?




 А вообще предпочитаю не проводить множественные открытия-закрытия файлов, т.к. это сильно тормозит программу.
 А вообще предпочитаю не проводить множественные открытия-закрытия файлов, т.к. это сильно тормозит программу.