Am Beispiel habe ich ausprobiert, dass "A AND B" einen Fehler ergibt.
Weiß vielleicht jemand, wo ich das umstellen kann ?
Müsste ja irgendwo in "Compilereinstellungen" sein...
(In meiner Signatur steht, was ich benutze.)
Die Standardeinstellung von Free Pascal ist es boolsche Ausdrücke abzukürzen, wenn möglich. Da er keine Kommandozeilenoption hierfür kennt, bietet Lazarus auch keine Option dafür an. Die einzige Möglichkeit dies zu beeinflussen ist innerhalb des Quellcodes:
Delphi-Quellcode:
// Shortcuts einschalten
{$B-}
// oder
{$BOOLEVAL OFF}
// Shortcuts ausschalten
{$B+}
// oder
{$BOOLEVAL ON}
Siehe auch
hier.
Ich glaube auch, dass es eine lokale Einstellung ist, das heißt, dass du dies für einzelne Bedingungen ändern kannst (müsste das jedoch nachprüfen).
Zur Semantik (vielleicht hattest du ja was vertauscht):
Bei einem
AND wird abgebrochen, wenn die erste Bedingung
FALSE ergibt (die gesamte Bedingung kann eh nicht mehr
TRUE ergeben).
Bei einem
OR wird abgebrochen, wenn die erste Bedingung
TRUE ergibt (die gesamte Bedingung kann eh nicht mehr
FALSE ergeben).
Gruß,
Sven
PS: Die aktuelle Version von Lazarus ist mittlerweile 0.9.30 mit Free Pascal 2.4.2. Wenn du noch etwas wartest sollte auch bald 0.9.30.2 (mit Free Pascal 2.4.4) veröffentlicht werden.