Einzelnen Beitrag anzeigen

Benmik

Registriert seit: 11. Apr 2009
543 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: TStream.ReadBuffer schlägt fehl

  Alt 7. Apr 2022, 19:17
Irgendwie kapiere ich es nicht. Wenn ich SetLength(TB, 4778259 * 512) verwende, dann meldet Delphi E2099 Overflow in conversion or arithmetic operation . Setze ich dagegen 2446468450 ein, verschwindet der Fehler, und auch High(Int64) wird klaglos akzeptiert.

Verwende ich FileStream.Read64 , geht es (man sieht aber in System.Classes, dass dann in Portionen von 512 MB eingelesen wird). Bei der Verarbeitung kommt dann doch noch ein Fehler, von dem ich aber nicht weiß, ob es etwas mit dem Puffer zu tun hat.

Jedenfalls sehr unangenehm, dass man sich nicht auf ReadAllBytes verlassen kann. Hat Jahre gedauert, ehe ich auf den Fehler aufmerksam wurde.
  Mit Zitat antworten Zitat