Forum: Object-Pascal / Delphi-Language
by himitsu,
30. Jun 2010
FlushFileBuffers ist nur ein nachträgliches FILE_FLAG_WRITE_THROUGH ... wie gesagt, dieses hat nur auf die windowsseitigen Dateipuffer eine Wirkung, welche hier aber kein Problem darstellen können.
Forum: Object-Pascal / Delphi-Language
by himitsu,
30. Jun 2010
Bei FILE_FLAG_NO_BUFFERING muß in ganzen Sektoren zugegriffen werden und das kannst du bei externen Zugriffen nicht sicherstellen.
FILE_FLAG_WRITE_THROUGH sagt nur, daß die Daten sofort, quasi an der WFC vorbei, in die Datei geschrieben werden soll.
Aber wie gesagt, wenn etwas in der WFC liegt, dann ist es auch so schon auslesbar.
Dieses bremst also nur unnötig die Verarbeitung ab.
...
Forum: Object-Pascal / Delphi-Language
by himitsu,
30. Jun 2010
Selbst wenn (was standardmäßig der Fall ist) StdOutFile, welches z.B. via CreateFile erstellt wurde, über die WindowsFileCache gepuffert wird, so kann man dennoch sofort drauf zugreifen, da beim Auslesen zuerst die Cache gelesen wird.
Die alte TextFile (AssignFile) von Delphi nutzt aber einen Puffer, welchen man nicht von ausen beeinflussen kann, aber in Richtung "Bildschirm" (Write/Writeln...