Weis wer worann das liegen kann?
Vermutung: Du schiebst den Wert vorher durch einen Integer durch und schneidest die oberen 32 Bit ab.
Wenn ich z.b die Zahl 499514339328 die ich als Int64 deklariert habe mit der Funktion umwandle dann erhallte ich als Resultat 1298132992
Wie machst du das?
Ich würde einfach mal die Überlaufprüfung in den Projektoptionen aktivieren.
Delphi-Quellcode:
procedure TForm24.FormCreate(Sender: TObject);
var
i: Int64;
i2: Integer;
S: string;
begin
{$RANGECHECKS ON}
i := 499514339328;
i2 := i;
Str(i2, S);
if S = '1298132992' then ;
end;