Genau das ist ja der Grund für mich da mal auf writeln zurück zu greifen.
Nach meinem Kenntnisstand wird der Buffer bei einem Closefile weggeschrieben,
Nein und genau deswegen.
Bei CloseFile landen die Daten auch nur in der WFC.
Also genauso wie bei den FileStreams, denn FileStream und das Pascal-Zeugs nutzen intern die selbe
WinAPI, abgesehn von dem zusätzlichen Caching der
TextFile.
Append tut erstmal das Ende der Datei einlesen um das vermeintliche Ende zu suchen.
Die alten Pascal-Funktionen sind also, in Bezug auf den Absturz des Programms eher im Nachteil.
- entwerder potentieller Datenverlust, bei geöffneten Dateien
- oder Overkill durch das ständige Öffnen und Schließen
Beim FileStream kann es offen bleiben und es kommt dennoch nichts weg, wenn das Programm abstürzt.
Wenn der ganze Computer verrekt, kann man durch entsprechende Optionen das Caching des FileStreams beeinflussen und auch da für ein sichereres Speichern sorgen, selbst wenn Windows verrekt.
Alternativ müstest du dir dafür ein eigenes AssingFile programmieren und die internen Open-/Closefunktionen ebenfalls durch eigene Versionen ersetzen und zusätzlich erstmal die Interna ergründen, da hierzu nichts in der
OH drinsteht.
Beim FileStream, bzw.
THandleStream+
CreateFile kannst du über die
OH und das
MSDN alles direkt erfahren.