Hallo, Leute!
Dieses Verhalten ist völlig OK und beabsichtigt, auch wenn es merkwürdigerweise in der Doku fehlt (wird natürlich ergänzt)...
Wenn der Dateiname weggelassen wird, verwendet cX den zuletzt angegebenen. So kann man cX.Datei("C:xxx").X abfragen und danach einfach cX.Datei.Länge oder so, um weitere Infos abzurufen. Ist dann halt einfacher zu schreiben, leichter zu lesen und sogar etwas schneller.
Dein Beispiel ist deshalb verwirrend, weil die Reihenfolge, in der die Platzhalter in einem Ausdruck ersetzt werden, nicht unbedingt von oben nach unten ist, eher sogar andersrum. Und da die erste Verwendung von cX.Datei ohne Angabe eines Dateinamen in der ersten Meldung zuerst ersetzt wird, wird kein anderer Dateiname eingesetzt (hat ja noch keinen gegeben). Bei der zweiten Meldung war ja schon ein Dateiname angegeben worden und wird bei cX.Datei() wiederverwendet.
Es sollte also immer erst ein Dateiname angegeben und danach erst die Varianten ohne Dateinamen verwendet werden.
Sollen unbedingt mehrere Abfragen gleichzeitig auf eine Datei gemacht werden, besser halt immer auch den Dateinamen angeben (wenn nicht leer).
War das jetzt verständlich? Klingt kniffelig, ist aber eigentlich ganz geradlinig...
Liebe Grüße
Stefan