Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
9. Sep 2021
ja,
aber so lange man nur ein Varialen oder Konstanten übergibt und nichts bei Übergabe zusammensetzt/aufruft, stört es nicht.
Das IfThen aus der StrUtils sieht praktisch genauso aus, außer daß es noch als INLINE deklariert ist,
was aber nur beeinflußt ob die Funktion direkt aufgerufen wird, oder der IFCode an Stelle des Aufrufers steht.
Wenn makromäßig bei Inline die Parameter an den...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
9. Sep 2021
Bei beiden wird der Code im Compiler erzeugt (zur Laufzeit ändert sich nichts mehr),
aber bei dem C-Makro wird der "Code" innerhalb des Makros ausgewertet (hier kann dann der ungenutzte Teil/Parameter übersprungen werden),
und in Delphi eben schon alle Parameter vor Aufruf der Funktion.
Auch in C würde es knallen, wenn IfThen dort als Funktion implementiert wäre.
Einzig was (aktuell)...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
9. Sep 2021
In C-Spachen ist IfThen bzw ?: ein Makro, was die Parameter, bzw. die übergebenen Codes, erst auswertet, wenn "wirklich" drauf zugegriffen wird, also bei TRUE nur das vom True-Parameter.
In Delphi ist es (leider) eine stinknormale Funkltion, bei der auch das Inline nicht dabei hilft den "unnötogen" Parameter nicht vorher aufzulösen,
also alles was als Parameter rein geht, wird vorhr...