Einzelnen Beitrag anzeigen

cltom

Registriert seit: 22. Sep 2005
221 Beiträge
 
Delphi 12 Athens
 
#3

AW: Integerüberlauf bei Hash-Funktion

  Alt 10. Apr 2024, 16:46
Danke für Deine Rückmeldung!

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.
Erklärt das, warum ich bei den Projektoptionen des alten (funktionierenden) Projekts die Überlaufsprüfung aktivieren kann und es trotzdem klappt als auch beim neuen Projekt die Überlaufsprüfung deaktivieren kann und es trotzdem nicht geht? bedeutet das auch, dass ich die nötigen Einstellungen gar nicht in den Projekteinstellungen selber ändern kann?

Muß es unbedingt dieser Hash sein?
Im Delphi werden standardmäßig ein paar Hash-Funktionen mitgeliefert. (nutzt Delphi z.B. im TDictionary)
Das ist wohl sicher die Antwort, diesen Teil rauszunehmen. Im Kern wird das letztlich wie ein Dictionary verwendet. Als der Code geschrieben wurde, gab es keine Generics und ich hab den Teil bis dato nicht angerührt. Aber ja, das wird mal fällig. Vielleicht ist das Thema der Weckruf, das mal anzugehen. Schön wäre es, wenn es nicht ganz so erzwungen kommt und ich das mal testen kann.
  Mit Zitat antworten Zitat