VB6 - 将变量转换为节点

时间:2013-07-09 18:29:01

标签: vb6 compiler-errors type-conversion nodes variant

我正在使用For Each循环遍历VB6中的Variant数组。有一次,我想将循环元素(elem)转换为Node。

Dim elem as Variant

For Each elem In ndArray
    Dim nodle As Node
    nodle = CType(elem , Node)
Next

这不是整个循环,但它让你知道我正在尝试做什么。当我运行此代码时,我收到一条错误,指出“未定义变量”,它指向CType方法中的“节点”。这不是一个变量,它是一个类型,方法应该知道,因为它需要一个类型。

我尝试跳过CType方法并只是生成nodle = elem,但是我收到一条错误,说“对象变量或没有定义块变量”。我在表达式前面添加了Set关键字,并将错误更改为“Object required”

当我调试并查看elem变量时,它似乎包含一个有效的Node值。

任何人都知道这里发生了什么?这种转换甚至可能吗?

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试添加Set

Set nodle = CType(elem , Node) 
如果Set是对象类型且Node将包含对象引用,则必须

nodle。如果省略Set,编译器会假定您要更改Node对象的默认属性。