Zitat von
slemke76:
Ich habe ausserdem gelesen, das TStream von Delphi gepuffert ist.
erstmal ist TStream abstract und da es aus diesem Grund erstmal garnichts ließt/schreibt, wird auch nichts gepuffert.
TFileStream(THandleStream) puffern selber nichts und die WindowsPufferung sollte bei diesem Problem keinen Einfluß haben, da sie vom Programm aus keinen Einfluß hat ... also wird FlushFileBuffers(Stream.Handle) nichts bewirken.
man müßte also erstmal rausbekommen welches Programm die Datei noch geöffnet hat (könntest ja z.B. mal mit einen
Unlocker, oder 'nem
Process Explorer selber nachsehn, wer das ist),
oder wenn es an deinem Programm liegt: warum/wo die Datei nicht mehr geschlossen/freigegeben wird.
PS: wenn die Datei noch geöffnet ist, dann bring es auch nichts, wenn du eine andere Komponente verwendest, um auf diese Datei zuzugreifen ... gesperrt ist gesperrt.
(abgesehn die Komponente ist defekt und der Fehler kommt von ihr ... aber TFileStream selber sollte diesen Fehler nicht verursachen)