In "neuen" Delphi-Projekten sind, seit einer Weile im Delphi, standardmäßig die Index- und die Bereichsprüfung aktiv.
Bei sowas direkt in der betreffenden
Unit dieses deaktivieren, wenn dort "absichtlich" mit Überläufen gerechnet wird, wie z.B. bei Verschlüsselung und Hash.
{$OVERFLOWCHECKS OFF}
Das Schlimme ist auch, dass es in der Hilfe "falsch" drin steht.
https://docwiki.embarcadero.com/RADS...ecking_(Delphi)
OK, für den Compiler ist es per Default off, aber in den neuen DPROJ nun per Default on.
Muß es unbedingt dieser Hash sein?
Im Delphi werden standardmäßig ein paar Hash-Funktionen mitgeliefert. (nutzt Delphi z.B. im TDictionary)
z.B. BobJenkinsHash in Generics.Defaults
Ich glaub im aktuellen Delphi steht dort ein Kommentar, dass es dafür nun auch irgendwo eine Klasse gibt.