Thema: Delphi Bug in StrToInt64 ?!

Einzelnen Beitrag anzeigen

Blizzard

Registriert seit: 4. Jan 2003
88 Beiträge
 
Delphi 6 Enterprise
 
#1

Bug in StrToInt64 ?!

  Alt 11. Aug 2005, 08:03
Hallo,

ich hab folgendes Problem, ich lese aus einer datei 8 Byte hexzahlen aus und will diese in einen int64 wert konvertieren, was eigentlich genau dessen wertebereich ist. Soweit die Theorie.

Mein Problem ist jetzt das ich z.B. beim wert $FFFFFFFFFFFFFFFF (=-1) die Fehlermeldung bekomme, dass dieser Wert keine gültige integer zahl ist, obwohl diese eigentlich noch im bereich von int64 liegt.

Man kann das auch ganz einfach Nachvollziehen:

Delphi-Quellcode:
procedure Test();
var
    t, t2: int64;
    tStr : String;
begin
    t := -1;
    tStr := inttohex(t,20);
    ShowMessage(tStr);
    t2 := strtoint64('$'+tStr); //Hier gibts dann die Exception
    ShowMessage(inttostr(t2));
end;
Ich verwende gerade Delphi 6. Kennt jemand diese Problem und vielleicht auch noch ein Workaround. Oder kann mir jemand sagen wo ich eine bessere strToInt64 funktion herbekomme die mit diesen werten zurechtkommt?

mfg
Blizzard
  Mit Zitat antworten Zitat