Перестала работать запись с переполнением в переменную типа Word
Очень простой пример работающий на Delphi 10.1 (Berlin) и не работающий на более старших версиях
var
a, b, c: Word;
begin
a := 297;
b := 57762;
c := a * b;
end;
в версии 10.1 значение переменной с = 23688 а в более старший out of range т.е. значение переменных a,b,c являются не word а integer
Ответы (1 шт):
Автор решения: Vlad Chapl
→ Ссылка
Очень похоже на то, что компилировались с разными настройками. https://www.gunsmoker.ru/2009/04/delphi_19.html ищи слова «Overflow checking»
В вашем примере идет переполнение и то, что вы сделали сейчас это игнорирование этого переполнения. Результат операции некорректный (хотя при генерации псевдослучайных чисел, шифровании или хэшировании такое практикуется).