关于变体门类数组的声明区别
关于变体类型数组的声明区别
变体类型数组的值是从COM服务器的一个函数中提取的
函数的声明如下

下面是我写的代码
我上面有两种变体类型的数组,一个是vtitemsvalue一个是qt ,但是声明为数组的时候,一个带括号,一个没带,这是为什么呢?如果我把Dim qt as Variant 改为Dim qt() as Variant,那么我调用ubound(qt)就会报下标越界错误
问题就是声明变体动态数组的时候,何时需要带括号,合适不需要带
------解决方案--------------------
Variant 变量可以自动转成数组,这是 VB 给你提供的便利。但作为好的编程习惯,最好是自己事先设计好数据类型。即使要利用 VB 的类型转换,也要心里有数,明白会有哪些附加的影响。
变体类型数组的值是从COM服务器的一个函数中提取的
函数的声明如下
下面是我写的代码
Private Sub Command5_Click()
Dim vtItemsvalue() As Variant
Dim lErrors() As Long
Dim qt As Variant
Dim TimeStam As Variant
DB1Group.SyncRead 1, 5, lServerHandles, vtItemsvalue, lErrors, qt, TimeStam
MsgBox CStr(VarType(vtItemsvalue)) '8204-8192 变体类型
MsgBox CStr(vtItemsvalue(5)) '255
MsgBox CStr(VarType(qt)) '8194-8192 整型值
MsgBox CStr(qt(1)) '192
End Sub
我上面有两种变体类型的数组,一个是vtitemsvalue一个是qt ,但是声明为数组的时候,一个带括号,一个没带,这是为什么呢?如果我把Dim qt as Variant 改为Dim qt() as Variant,那么我调用ubound(qt)就会报下标越界错误
问题就是声明变体动态数组的时候,何时需要带括号,合适不需要带
------解决方案--------------------
Variant 变量可以自动转成数组,这是 VB 给你提供的便利。但作为好的编程习惯,最好是自己事先设计好数据类型。即使要利用 VB 的类型转换,也要心里有数,明白会有哪些附加的影响。