Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

AW: System.Length: Warum Integer und nicht Cardinal ?

  Alt 26. Mai 2021, 16:53
Hilft aber nur beim Debuggen
Kann man aber auch in der Release aktivieren, wenn man möchte.


Du darfst in deiner Funktion den Integer gern nach Cardinal casten und mit Length vergleichen (Length auch nach Integer gecastet, damit der Compiler nichts für den Vergleich unnötig nach Int64 erweitert)

-1 ähhhh $FFFFFFFF ist ja größer als Length und somit raucht die Längenprüfung auch da ab, ohne daß man explizit <0 prüfen muß.
Delphi-Quellcode:
if Cardinal(ALen) <= Cardinal(Length(AArray)) then
  ÜberlaufBzwNichtGenugBytesImArray
$2B or not $2B
  Mit Zitat antworten Zitat