Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Verhalten von TFileStream/TBufferedFileStream bei Crash

  Alt 26. Mai 2020, 16:02
Bei TFileStream kann nichts verloren gehen, selbst wenn man vergisst das Streamobjekt freizugeben.
Es wurden ja bereits alle Schreibvorgänge ausgeführt und warten vielleicht noch im WindowsFileCache, bis es auf der Platte landet.
Spätestens wenn das Programm dann beendet wird, schließt Windows das FileHandle und die Datei ist entgültig zu
Und so lange nicht das komplette Windows abstürzt, wird auch irgendwann das noch auf die Platte geschrieben, was noch im FileCache hing.

Beim TBufferedFileStream ist es wie mit dem guten alten Delphi-Referenz durchsuchenAssignFile+Rewrite auf einer Delphi-Referenz durchsuchenText/TextFile, wenn dort das CloseFile fehlt oder das Programm abstürzt, dann sind die Daten weg, welche noch im Buffer des Delphi (TTextRec.Buffer) warteten.
$2B or not $2B
  Mit Zitat antworten Zitat