Время от времени мне приходится иметь дело с большими числами в моем приложении. Поэтому я решил использовать QWord, чтобы убедиться, что диапазон будет (надеюсь) охватывать все сценарии. Короче говоря, кажется, что компилятор FreePascal выполняет все математические операции в диапазоне целых чисел. Это приводит к некоторому странному поведению, т.е.
if QWordVariable > 8600000000 then ...
не входит в секцию then, даже если переменная QWordVariable больше 8600000000. Только диалог явного типа позволяет предложению if работать правильно:
if QWordVariable > QWord(8600000000) then ...
У кого-нибудь есть идея, почему компилятор автоматически не конвертирует статическое число в QWord для сравнения?
Заранее большое спасибо и с уважением,
LT