1.2.4. $B или $BOOLEVAL : Полная проверка логических выражений

На верх  Назад  Вперёд

По умолчанию компилятор использует сокращённую проверку логических выражений, т. е. оценка логического выражения прекращается, как только результат выражения уже известен. Для изменения этого поведения может быть использован переключатель {$B }: если его аргумент равен +, то компилятор всегда будет оценивать все условия выражения. Если это - (по умолчанию), то компилятор будет всегда поверять только некоторые (необходимые) условия в выражении.

Так, в следующем примере, логическая функция Bofu, никогда не будет вызвана (если использована директива {$B-}).

if False and Bofu then

Следовательно, любые действия, которые реализует функция Bofu, не будут выполнены. Если компиляция выполняется с директивой {$B+}, то функция Bofu будет вызывана в любом случае.