Ich bin ein Stück weiter. Den Verursacher habe ich gefunden, nicht aber die Ursache. Der Code sieht modifiziert wie folgt aus:
Delphi-Quellcode:
BlockRead(F, Buffer[0], SizeOf(Buffer), Res);
CloseFile(F);
If (Res > 0) Then
Begin
ShowMessage(SR.Name + #13 + 'Es wurden ' + FormatFloat('0,', Res) + ' Bytes gelesen.');
...
Das für mich verblüffende ist die Meldung
Code:
Urlaub.xls
Es wurden 4.469.406 Bytes gelesen.
Die Datei ist natürlich keine 4 MB groß. Wieso liefert mir BlockRead einen falschen Wert zurück?