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