Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#5

AW: TZipFile -> TZipProgressEvent -> Position -> Fehler bei Dateien über 4GB

  Alt 22. Apr 2022, 15:14
Also beim TZipFile sehe ich auf die Schnelle keinen Grund wieso es da einen Integerüberlauf geben sollte, da dort mit Int64 gearbeitet wird.
Hatte ich auch erst vermutet, aber - TCustomZStream arbeitet intern nur mit 32-Bit (siehe total_out):
Delphi-Quellcode:
  z_stream = record
    next_in: PByte; // next input byte
    avail_in: Cardinal; // number of bytes available at next_in
    total_in: LongWord; // total nb of input bytes read so far
    next_out: PByte; // next output byte will go here
    avail_out: Cardinal; // remaining free space at next_out
    total_out: LongWord; // total nb of bytes output so far
    msg: MarshaledAString; // last error message, NULL if no error
    state: Pinternal_state; // not visible by applications
    zalloc: alloc_func; // used to allocate the internal state
    zfree: free_func; // used to free the internal state
    opaque: Pointer; // private data object passed to zalloc and zfree
    data_type: Integer; // best guess about the data type: binary or text
                         // for deflate, or the decoding state for inflate
    adler: LongWord; // Adler-32 or CRC-32 value of the uncompressed data
    reserved: LongWord; // reserved for future use
  end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat