Nun, der Link in der angenommenen Antwort auf diese Frage ist zu einem Artikel von Eric Lippert, Eric's Complete Guide To BSTR Semantics. Während es definitiv nicht offizielle Dokumentation sein würde, ist Lippert eine gut bekannte Autorität auf COM (besonders in der Scripting-Arena).
Jedoch hat the official documentation folgendes zu sagen:
A BSTR ohne Datenelemente entweder ein leerer BSTR oder eine NULL BSTR. Ein leerer BSTR zeigt einen gegenwärtigen Datenwert von Null Länge an. Ein NULL BSTR zeigt einen Datenwert an, der nicht vorhanden ist. So
, offiziell sind sie beide BSTR
s ohne Datenelemente, aber mit leicht unterschiedlichen Semantik (obwohl es gibt nichts zu sagen, dass diese zwei Fälle behandelt werden müssen, unterschiedlich in Ihrer Anwendung). In diesem Fall würde ich Lipperts Rat befolgen, sie gleich zu behandeln. Für mich hat seine praktische Erfahrung, wie die tatsächlichen Implementierungen funktionieren, mehr Gewicht als der eine Satz im offiziellen BSTR-Dokument.
Ich war nicht der Architekt für VBScript, entweder de jure oder de facto; Ich war ein Entwickler im Scripting-Team und implementierte viele Funktionen in VBScript, aber ich war sicherlich nicht auf der Architekt-Ebene. –
Eric - Ich habe diesen Teil entfernt. Entschuldige den Fehler (ich hoffe du nimmst es als Kompliment). –