Einzelnen Beitrag anzeigen

tofse

Registriert seit: 6. Jun 2011
Ort: Saarlouis
131 Beiträge
 
Delphi XE Professional
 
#1

Datei als array of byte einlesen

  Alt 30. Okt 2017, 13:42
Hallo,

ich muss Dateien byte-weise einlesen, und verwende folgenden Code

Code:
var buffer : array of byte;
    afile: file of byte;
    i:Integer;
begin
    AssignFile(afile, FPdf);
    Reset(afile);
    SetLength(buffer, FileSize(afile));
    For i := 1 to FileSize(afile) do
       Read(afile, buffer[i]);
    CloseFile(afile);
end;
Das Problem ist, wenn ich das durchlaufen lasse, klappt es zu 80%, manchmal kommt dann ein E/A - Fehler 32. Das ist meistens der Fall, wenn im Win Explorer die Datei noch fokusiert ist.
Während der Entwicklung habe ich hier immer das gleiche PDF, es kann also nicht an der Datei selber liegen. Denn auch wenn ich den Explorer dann schließe, und es nochmal durchlaufen lasse, klappt es dann.

Gibt es eine zuverlässigere Routine, um die Datei als array of byte einzulesen oder geht das generell nicht, wenn die Datei noch fokusiert ist?

Danke
Christof
  Mit Zitat antworten Zitat