Einzelnen Beitrag anzeigen

Int3g3r

Registriert seit: 28. Nov 2018
Ort: Schweiz
118 Beiträge
 
Delphi 10.3 Rio
 
#1

TObject und negativer Int64

  Alt 19. Feb 2021, 18:53
Guten Abend,

Kann mir jemand erläutern was bei folgendem Code genau passiert ?
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var myObj:TObject;
    negNumber: Int64;
begin
  negNumber := -1;
  myObj := TObject(negNumber);
  showmessage(int64(myObj).ToString);
end;
Bei showmessage() wird mir 4294967295 ausgegeben. Ich erwarte aber -1.

Habe bereits einen ähnlichen Artikel gefunden bei dem es um einen extended geht.
https://www.delphipraxis.net/151440-...-extended.html

Ich benötige den Cast ins TObject auch um einer Liste eine ID mitzugeben.
Wie dort beschrieben wäre eine Lösung eine helper Klasse zu erstellen, find ich eigentlich gut soweit. Ich möchte nur verstehen warum bei meinem Beispiel oben nicht -1 ausgegeben wird.

Gruss Int3g3r

PS: Ist eine 32bit Applikation.
  Mit Zitat antworten Zitat