Klar, man kann über Integer als Zwischenschritt casten, dann sind im Nagetiven 2 Millarden Werte verfügbar, aber dafür geht es im Positiven nun statt bis 4 nur noch bis 2 Milliarden, von den paar Trilliarden des Int64.
Wenn du mal nachsiehts, was mit den Bits im Zweierkomplement los ist, dann weißt du auch warum.
Fazit: Mach es richtig.
Es soll ein Object sein, also nimm auch ein Daten-Objekt und pack den Wert dort rein.
Delphi-Quellcode:
type
TMyData = class
Value: Int64;
constructor Create(Value: Int64);
end;
procedure TForm1.Button3Click(Sender: TObject);
var myObj:TObject;
negNumber: Int64;
begin
negNumber := -1;
myObj := TMyData.Create(negNumber);
showmessage(TMyData(myObj).Value.ToString);
// irgendwo nicht vergessen
myObj.Free;
end;
Oder das Programm in 64 Bit compilieren.