Type Switch
Syntax {$B+} or {$B-}
{$BOOLEVAL ON} or {$BOOLEVAL OFF}
Default {$B-}
{$BOOLEVAL OFF}
Scope Local
The $B directive switches
between the two different models of code generation for the and and or
Boolean operators.
In the {$B+} state, the
compiler generates code for complete Boolean expression evaluation. This means
that every operand of a Boolean expression built from the and and or operators
is guaranteed to be evaluated, even when the result of the entire expression is
already known.
In the {$B-} state, the
compiler generates code for short-circuit Boolean expression evaluation, which
means that evaluation stops as soon as the result of the entire expression
becomes evident in left to right order of evaluation.
For further details, see the section "Boolean operators" in the Object Pascal Language Guide.