
Zitat von
neolithos:
Es gibt aber eine Compilerer-Einstellung in der man das Vollständige auswerten der Bedingungen erzwingen kannst.
Zur Vollständigkeit halber:
Code:
{$B+} oder {$B-}
{$BOOLEVAL ON} oder {$BOOLEVAL OFF}
Zitat:
Die Direktive $B schaltet zwischen zwei unterschiedlichen Modellen der Code-Generierung für die Booleschen Operatoren and und or um.
Im Status {$B+} erzeugt der Compiler Code für die vollständige Auswertung eines Booleschen Ausdrucks. Das bedeutet, daß jeder Operand eines Booleschen Ausdrucks, der mit den Operatoren and und or gebildet wird, garantiert ausgewertet wird, auch wenn das Ergebnis des gesamtes Ausdrucks bereits feststeht.
Im Status {$B-} generiert der Compiler Code für die Kurzschlußauswertung Boolescher Ausdrücke, d.*h. die Auswertung wird beendet, sobald das Ergebnis des gesamten Ausdrucks feststeht (die Auswertung erfolgt immer von links nach rechts).