2010-12-09 75 views
1

如何检查一个对象是否实现了VB6中的特定接口?我有以下代码:检查一个对象是否实现了VB6中的特定接口

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 

回答

4

更换

If (node is MSXML2.IXMLDOMElement (how to do this?)) Then 

If TypeOf node Is MSXML2.IXMLDOMElement Then 

FYI:使用TypeOf之前,你必须确保node不是Nothing否则会引发运行时错误对象变量(或块)未设置

0

在这种情况下,做的函数调用类型名(节点)返回“MSXML2.IXMLDOMElement”你呢?如果是这样可能是解决方案。

+0

实际上,TypeName可能会返回静态类型,而不是动态类型,所以这可能无济于事。 – Alain 2010-12-09 14:29:44

0

只要将它分配给'元素',如果分配错误恢复,请尝试下一个接口。

相关问题