Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#8

AW: GetFileSizeEx gibt falsche werte bei großen Dateien

  Alt 9. Mai 2014, 19:47
Obwohl die Frage für den TE bereits beantwortet wurde, vielleicht doch noch die Antwort auf die Frage:
ist daran etwas falsch?
Delphi-Quellcode:
...
      Result := F.FindData.nFileSizeLow or (F.FindData.nFileSizeHigh shl 32);
...
SHL 32 schiebt alles um 32 Bit nach links. So wie es ist, ist das Ergebnis aber ein 32Bit Integer. Somit werden die 32 Bits ins Nichts geschoben und man erhält ein falsches Ergebnis.

Ohne das jetzt nachzuprüfen, das sollte das Problem beseitigen:
Delphi-Quellcode:
...
      Result := Int64(F.FindData.nFileSizeLow) or (Int64(F.FindData.nFileSizeHigh) shl 32);
...
//EDIT

Ups, sehe gerade, himitsu hat schon drauf hingewiesen. Sorry, hab nicht alle Beitröge vorher gelesen.
  Mit Zitat antworten Zitat