@Bernhard Geyer
Vor der oben vorgestellten Version hatte ich die Bytes einzelt aus dem Stream gelesen. Diese Option ist enorm langsam. By 7 MB wird ca. eine Minute benötigt.
Oh. Hatte das l als 1 interpretiert un die Zeile
l := fs.Size; übersehen.
Windows Vista - Eine neue Erfahrung in Fehlern.