一个变体数组可以有0个元素吗?

7
普通动态数组支持空数组(= nil,Length()= 0)。
但变量数组似乎不支持这个。
我使用变体数组传递数据(因为是OLE / COM),当用户定义0个元素时会出错...
我可以使用varEmpty而不是长度为0的数组,但这些数据数组是灵活变化的(添加项目,删除项目等)。
我如何传递空数组到Variant中,或者我需要使用其他方法?
2个回答

5

varEmpty是正确处理此问题的方法。当然,COM接口另一侧的代码可能不喜欢空数组,但这完全取决于您与该接口的特定合同。


0

这里有一些代码,无论数组是否为空,都将更新变量数组。

Sub Variant_Add(Var_Array As Variant, What)
    ' Add "What" to a "Var_Array" without book keeping.
    ' 3/18/19 Created, Mac Lingo

    ' Note: Variant_Add must be defined in the following way: _
        Dim Var_Array as Variant

    Prog = "Variant_Add"

    If IsEmpty(Var_Array) Then
        ReDim Var_Array(1) As Variant
        Knt = 1
    Else
        Knt = Var_Array(0) + 1
        ReDim Preserve Var_Array(Knt) As Variant
    End If

    Var_Array(Knt) = What
    Var_Array(0) = Knt

End Sub ' Variant_Add

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接