Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

AW: Datei als array of byte einlesen

  Alt 6. Nov 2017, 14:50
Hallo,
so hat es funktioniert
Du hast 2 Möglichkeiten:

1) NICHT ZU EMPFEHLEN
Delphi-Quellcode:
datei := TFileStream.Create(FPdf, fmOpenRead);
try
   SetLength(buffer, datei.Size+1); // +1 !
   datei.Read(buffer[1], datei.Size);
finally
   datei.Free;
end;
wenn du schon ab Index 1 einliest, dann muss das Array 1 Byte größer sein oder das letzte Byte steht in der Pampa was böse in die Hose gehen kann.

2) Besser:
Delphi-Quellcode:
datei := TFileStream.Create(FPdf, fmOpenRead);
try
   SetLength(buffer, datei.Size);
   datei.Read(buffer[0], datei.Size);
finally
   datei.Free;
end;
Und du passt deine anderen Methoden zum verarbeiten der PDF an, sodass diese ab buffer[0] anfangen zu lesen und nicht ab buffer[1]!
Das ist nämlich dein wahres Problem
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat