Wie kann ich überprüfen, ob ein Objekt eine bestimmte Schnittstelle in VB6 implementiert? Ich habe den folgenden Code:Prüfen, ob ein Objekt eine bestimmte Schnittstelle in VB6 implementiert
Dim nodes As MSXML2.IXMLDOMNodeList
Dim node As MSXML2.IXMLDOMNode
Dim element As MSXML2.IXMLDOMElement
...
For Each node In nodes.childNodes
If (node is MSXML2.IXMLDOMElement (how to do this?)) Then
Set element = node
...
Else
...
End If
Tatsächlich gibt TypeName wahrscheinlich den statischen Typ zurück, nicht den dynamischen Typ, also wird dies wahrscheinlich nicht helfen. – Alain
Nun, nach diesem Artikel (http://zone.ni.com/devzone/cda/tut/p/id/2949) können Sie den Laufzeittyp einer Variant mit TypeName() ermitteln, also gehen Sie voran und geben Sie a Schuss. Versuchen Sie es mit Knoten als eine Variante, wenn es nicht mit Knoten als MSXML2.IXMLDOMNode funktioniert. – Alain
danke, TypeName hat auch ohne Variante funktioniert. Obwohl ich String-Vergleich nicht mag. Das fühlt sich für mich nicht sauber an. Ich werde es als endgültige Lösung verwenden, wenn nichts sauberer gefunden wird. –