2009-05-18 57 views
1

在VB6中,您可以静态和动态地声明一个数组。当动态声明数组时,是否可以确定数组是否已声明为动态数据,因此可能需要“redim”才能使用它?即我正在寻找类似的东西:VB6动态数组确定

if myarray is dynamic then 
    redim ... 
end if 
myarray(x) = y 

回答

1

使用此代码

Private Sub Command1_Click() 
    Dim A() As Double 
    Dim B() As Double 
    ReDim B(4) 
    If (Not A()) = -1 Then MsgBox "Empty" 
    If (Not B()) = -1 Then MsgBox "Empty" 
End Sub 

(不arrayName中的())返回-1,如果它是空的。

1

不幸的是,没有什么内在的东西来判断一个数组是否是动态的。您可以使用VB6阵列的底层实现的特殊知识一起破解一些东西,就像在Matt Curland的书中一样。

我认为最好的方法是使用函数in this answer。它测试数组是否是需要ReDimmed的动态数组。