Standardmäßig sind die Überlaufprüfungen deaktiviert, aber wenn das mal wer in den Projektoptionen aktiviert, zwecks Fehlersuche, dann knallt es halt an vielen Stellen.
Hier sollte man diese Prüfung eben explizit um diese Codestelle deaktivieren, da der Überlauf ja quasi gewollt ist.
Oder man verwendet Code ohne Überlauf.
Die Auswertungen für diese Vergleichsergebnisse vergleichen extra ausschließlich gegen 0 und nicht geziehlt auf -1 und +1.
Drum gehen da auch Werte außerhalb dieses Bereichs.
Delphi-Quellcode:
function CompareValue(const A, B: Irgendwas): TValueRelationship{Integer};
begin
if A = B then
Result := EqualsValue
else if A < B then
Result := LessThanValue
else
Result := GreaterThanValue;
end;
Delphi-Quellcode:
function CompareValue(const A, B: Irgendwas): Integer;
begin
Result := B - A;
end;