Das sieht ganz nach einem Integer Überlauf aus. Aber wo? Das kann ja eigentlich nur hier passieren:
Delphi-Quellcode:
function CalcCntParts(const Filename: string; Size: Int64): Cardinal;
var
FileSize : Int64; // >4GB
begin
result := 0;
if Size > 0 then
begin
FileSize := GetFileSize(PChar(Filename));
if (FileSize > 0) and (FileSize div Size < High(Integer)) then
result := (FileSize - 1) div Integer(Size) + 1;
end;
end;