Delphi - Append - błąd I/O 32

0

na prawde nie rozumiem czemu się wysrywa, może ktoś mnie oświeci bo wedle wszelkich prawideł powinno działać

  function TLB.addRow(): string;  
  var TF: TextFile;      
      S: string;
  begin
    AssignFile(TF, getFilePath());
    Reset(TF);
    //(jakieś tam polecenia do odczytywania wartości)
    CloseFile(TF);
    Append(TF); // bach błąd I/O 32
    Write(TF, S);
    CloseFile(TF);
  end;
0

assignfile ponownie wywołaj

0

To daj reset a potem TextSeek'iem pojedź. Mi to wygląda na jakiś błąd parsowania pliku tekstowego (ale nie udało mi się znaleźć tego kodu błędu).

0

Zapewne chodzi o ERROR_SHARING_VIOLATION

0

Potestowałem troche znowu:

  AssignFile(TF, KStext.getFilePath());
  Append(TF);
  Write(TF, 'test zapisu');

Coś takiego działa na moim pliku bez zarzutów. Bład musi być związany z operacjami poprzednich wywoływanych w trakcie działania funkcji. Niestety nie jestem w stanie określić w jaki sposób ma to wpływ. Chyba zaraz będe mieć rozwiązanie...

EDIT: Tak jest, głupi błąd z mojej strony. W poprzednich wywoływanych funkcjach otwierałem plik metodą Reset, lecz go nie zamykałem. Wystarczyło pododawać CloseFile we wszystkich niedokonczonych w ten sposób funkcjach

0
JacekKw napisał(a)

W poprzednich wywoływanych funkcjach otwierałem plik metodą Reset, lecz go nie zamykałem.

I dlatego dostawałeś ERROR_SHARING_VIOLATION.

1 użytkowników online, w tym zalogowanych: 0, gości: 1