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

Delphi - Append - błąd I/O 32
JK
  • Rejestracja:ponad 15 lat
  • Ostatnio:prawie 13 lat
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;
edytowany 1x, ostatnio: JacekKw
ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 19 godzin
0

assignfile ponownie wywołaj


payl
  • Rejestracja:prawie 16 lat
  • Ostatnio:około 13 lat
  • 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).


Nie pisz do mnie PM o czymś co nie dotyczy bezpośrednio mnie. | Nie rozmawiaj ze mną jeśli brak Ci kultury (wystarczy że mi brakuje) | Nie jestem zły, jestem po prostu zły.
edytowany 1x, ostatnio: payl
JK
payl
Tak, TextSeek'iem. Jak nie wiesz co to to masz google.
pelsta
  • Rejestracja:prawie 19 lat
  • Ostatnio:15 dni
  • Postów:819
0

Zapewne chodzi o ERROR_SHARING_VIOLATION

JK
  • Rejestracja:ponad 15 lat
  • Ostatnio:prawie 13 lat
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

edytowany 3x, ostatnio: JacekKw
pelsta
  • Rejestracja:prawie 19 lat
  • Ostatnio:15 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.

JK
dostawałem I/O 32 Error :P
payl
A to nie jest ERROR_SHARING_VIOLATION? No właśnie.

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.