как освободить память из этих файлов .txt - PullRequest
0 голосов
/ 02 февраля 2019

Работа с TXT-файлами В последнее время я вижу сообщение "не удается создать файл ('c: \ 01.txt'), процесс не может получить доступ к файлу, поскольку он используется другим процессом", как освободить памятьэти файлы .txt?

У меня есть этот код от Mr. Nice, и когда я пытаюсь изменить или добавить новое, используя: ListBox1.Items.savetofile ('01 .txt ');

"не может создать файл ('c: \ 01.txt'), процесс не может получить доступ к файлу, потому что он используется другим процессом "

var
  path: string;
  SR: TSearchRec;
  tempFile: TextFile;
  line: string;
begin
  path:= 'C:\my all txt\';
  if FindFirst(path + '*.txt', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        AssignFile(tempFile, path + SR.Name);
        Reset(tempFile);
        while not Eof(tempFile) do
        begin
          Readln(tempFile, line);
          ListBox1.Items.Add(line);
        end;
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;

1 Ответ

0 голосов
/ 02 февраля 2019

Вы никогда не закрываете файлы после того, как закончите с ними.Вам нужно использовать CloseFile как только вы достигнете Eof(tempfile):

while not Eof(tempfile) do
begin
  Readln(tempfile, line);
  ListBox1.Items.Add(line);
end;
CloseFile(tempfile);
...