preprocessor Bug oder Feature

20/10/2008 - 14:49 von Jörg Schneider | Report spam
Hi @all!

Wir haben gerade etwas festgestellt. Wir haben per #define ctod auf
brctod umgemapped. Das funktioniert schon seit Jahren bestens ;)

Im Code wird nun z.B. folgendes gemacht
lcWhere1 = "ctod('" + ldDatum + "')"

und irgendwann wird das hier gemacht:
lcWhere2 = [ctod('] + ldDatum + [')]

So nun die Preisfrage: Was steht in lcWhere1 und was im lcWhere2?

Hier die Auflösung:
lcWhere1 = "ctod('20.10.2008')"
lcWhere2 = "brctod('20.10.2008')"

Ähm? Das làsst uns darauf schließen, dass der Preprocessor strings in ""
nicht verarbeitet und strings in [] werden umgesetzt.

Ist das nun ein Bug oder ein Feature? Und warum ist das so?
Gibts da einen "Schalter" mit dem man das beeinflussen kann?


Danke für Eure Hinweise schon mal im voraus

Grüße aus der goldigen Südpfalz
Jörg Schneider
 

Lesen sie die antworten

#1 Olaf Doschke
20/10/2008 - 14:56 | Warnen spam
Ähm? Das làsst uns darauf schließen, dass der Preprocessor strings in ""
nicht verarbeitet und strings in [] werden umgesetzt.

Ist das nun ein Bug oder ein Feature? Und warum ist das so?
Gibts da einen "Schalter" mit dem man das beeinflussen kann?



Feature, weil [] z.B. auch als Klammern für Arrays gelten.
Es gibt keinen Schalter, der das àndert.

Tschüß, Olaf.

Ähnliche fragen