Das hängt mit dem "
Kurzschlussverfahren" zusammen.
Es gibt drei Lösungen:
- Benutze eine Zwischenvariable für das Funktionsergebnis.
- Schalte das "Kurzschlussverfahren" mit einem Compilerschalter aus.
- Vertausche die beiden Argumente des OR-Operators.
Ich würde Variante 1 empfehlen, da das die Intention klarer macht (Funktion wird auf jeden Fall aufgerufen). Insgesamt ist es eine gute Idee, wenn Sachen wie "Test" (Getter/math. Funktionen) seiteneffektfrei sind (kein Showmessage); dann wäre dir diese Optimierung nämlich gar nicht auf die Füße gefallen.