Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: Ausführung von links nach rechts?

  Alt 10. Feb 2017, 19:45
Meistens geht es von links nach rechts, da Delphi den Code "normalerweise" in der Weise auswertet und in Code umwandelt, in welcher er vom Compiler gelesen wird.
Aber es kann dennoch sein, dass es anders abläuft, sei es durch Codeoptimierung oder durch typbedingte Erweiterungen.

Ich hatte mal den Fall, dass ein a AND b anders abläuft.
Eigentlich wird meistens erst a ausgwertet und dann b, falls a True ist,
ABER wenn Eines von Beiden ein Variant ist, dann wird zuerst Beides ausgewertet, in Variants umgewandelt und danach wird die das AND nicht als Assembler AND, sondern als Funktion VarAnd ausgewertet, deswegen auch zuerst die komplette Parameterauflösung.
Der Code war sowas wie if (Wert <> '') and Auswerten(Wert) then ... .
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Feb 2017 um 20:05 Uhr)
  Mit Zitat antworten Zitat