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

Delphi - Append - błąd I/O 32
JK
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
  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;
ŁF
  • Rejestracja: dni
  • Ostatnio: dni
0

assignfile ponownie wywołaj

payl
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 196
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).

pelsta
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 819
0

Zapewne chodzi o ERROR_SHARING_VIOLATION

JK
  • Rejestracja: dni
  • Ostatnio: dni
0

Potestowałem troche znowu:

Kopiuj
  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

pelsta
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 819
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.