Einzelnen Beitrag anzeigen

ma2xx

Registriert seit: 25. Nov 2005
22 Beiträge
 
#1

UInt64 Typ-Problem bei Vorgabewerten

  Alt 24. Apr 2009, 08:55
Hallo

Ich habe mir da eine Funktion gebastelt für UInt64 ...
Delphi-Quellcode:
function StrToU64(const S:string; Default:UInt64=0; aMin:UInt64=Low(UInt64); aMax:UInt64=High(UInt64)): UInt64;
var E: Integer;
begin
    Val(S, Result, E);
    if E=1 then result:=Default;
    result:=Min(aMax, Max(aMin, result));
end;
Wenn man diese Funktion verwendet mit den vorgespannten Vorgabewerten ...
MyU64:=StrToU64('123');
... dann bekomme ich in Delphi2007 folgenden Compilerfehler:
[DCC Fehler]: E1012 Konstantenausdruck verletzt untere Grenzen Wenn man aber alle Werte mit übergibt, dann scheint es zu gehen ...
MyU64:=StrToU64('123', 0, Low(UInt64), High(Uint64));

Was läuft hier schief?!?

Im übrigen: Wenn man Int64 nimmt, dann geht alles super.

Gruß
Ma2xx
  Mit Zitat antworten Zitat