Das BlockWrite, AssignFile und Co. sowas von uralt sind, seh ich schon ein
und nicht die 128 Byte "Cache" hab ich als Fehler angesehn,
sondern die tatsache daß bei Nichtangabe einer Größe diese 128 genommen werden.
Wenn nichts angegeben wird und Delphi oder damals Pascal dann eine 1 nehmen würden, dann würden solche Fehler hier nicht auftreten.
Zitat von
alzaimar:
Der Fehler muss woanders liegen, denn das hier funktioniert
sein Code entspricht F1 aus meinem Test und auch im Test kommt nirgends eine 32 Byte-Datei raus.
Wie es schon Vorgeschlagen wurde, muß er also nur bei Reset/Rewrite die 1 angeben oder mit
File of Byte arbeiten ... also F4 oder F5.
und schon geht's.
Oder er steigt einfach auf FileStream's um (mit der
WinAPI muß er sich ja nicht unbedingt überfordern
).
Ich hatte (als ich noch diese Funktionen nutzte) wohl einfach nur Glück, da ich nie mit "File" arbeitete und dafür zufällig nur typisierte Dateien (File of) und Textdateien (TextFile) nutzte.