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

Вверх  Предыдущий  Следующий

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

Если аргумент равен OFF (по умолчанию), то компилятор будет проверять столько условий, сколько необходимо для определения результата полного выражения.Так, в следующем примере, функция Bofu, которая имеет логический результат, никогда не будет вызвана (если аргумент директивы равен OFF).

if False and Bofu then

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