Zitat von
Baeuerle:
-> Die Datei wird also in den lokalen Arbeitsspeicher gezogen ?!?
Nein!
Zitat von
Baeuerle:
Die Datei wird verändert
fs.Write(record,sizeof(record));
-> Was passiert jetzt? wo wird geschrieben? direkt auf der HDD vom Server?
Die Daten werden dem Server übermittelt. Der Server speichert die Daten evtl. nur im Cache
und markiert die Blöcke als "Dirty".
Andere Prozesse (auch auf anderen Rechnern) sehen nun die veränderten Daten, falls sie gelesen werden.
TFileStream arbeitet im Gegensatz zu read, write, assignfile,... ungepuffert.
Wichtig sind die
SHARE-Flags beim Erzeugen des FileStream.
Mit
fmShareExclusive kann sichergestellt werden, das kein anderer Prozess die gleiche Datei schreiben oder lesen kann.