关于变体门类数组的声明区别

关于变体类型数组的声明区别
变体类型数组的值是从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 的类型转换,也要心里有数,明白会有哪些附加的影响。