Hi
In der Delphi5-Hilfe steht zu 'and' und 'or':
Der Delphi-Compiler unterstützt zwei Auswertungsmodi für die Operatoren and und or: die vollständige Auswertung und das Kurzschlußverfahren. Bei der vollständigen Auswertung werden alle Operanden eines and - oder or-Ausdrucks auch dann ausgewertet, wenn das Resultat des gesamten Ausdrucks bereits feststeht.
Das Kurzschlußverfahren geht streng von links nach rechts vor und wird beendet, sobald das Ergebnis des gesamten Ausdrucks feststeht.
So, und jetzt zu meinem Problem

:
Das bedeutet doch eigentlich, dass beim Kurzschlussverfahren das 'and' wie ein 'then if' wirkt. Jetzt habe ich mir gedacht, zur Optimierung eines meiner Programme ersetze ich einfach alle 'then ifs' durch 'ands'. Komischerweise ist der Effekt von Operation zu Operation aber total unterschiedlich: Anscheinend wird der Code bei Operationen, die am schnellsten in der vorgegebenen Reihenfolge ausgeführt werden, langsamer, bei den anderen schneller. Jetzt heißt es aber doch, dass das Kurzschlussverfahren "streng von links nach rechts" vorgeht

. Ich habe mir zum Überprüfen meiner Vermutung ein kleines Testprogramm geschrieben, in dem aber alles funktioniert wie es soll. Das Programm, in dem der Fehler auftritt, ist ziemlich komplex, kann es vielleicht damit zusammenhängen?
Danke schonmal