Zitat von
Binärbaum:
Hier mal eine Funktion, die den negativen Wert in die richtige Entsprechung umrechnet
Man könnte das ganze kompatibler gestalten, indem man einen Int64 zurückgibt und eine überladene Funktion mit einem Int64 als Paramater schreibt (falls das Property von TFileStream in einer anderen Delphi-Version tatsächlich Int64 liefert...).
edit: ein Int64(Longword(aSize)) hätte es auch getan, die Additionen sorgen nur für Probleme bei aktivierten Overflow-Checks.
Delphi-Quellcode:
function HackIt(Size: Longint): Int64;
overload;
{$IFDEF WIN32}
asm
xor edx, edx
end;
{$ELSE}
begin
Result := Longword(Size);
end;
{$ENDIF}
function HackIt(Size: Int64): Int64;
overload;
{$IFDEF WIN32}
asm
// fixme :)
end;
{$ELSE}
begin
Result := Size;
end;
{$ENDIF}