在VB6中,您可以静态和动态地声明一个数组。当动态声明数组时,是否可以确定数组是否已声明为动态数据,因此可能需要“redim”才能使用它?即我正在寻找类似的东西:VB6动态数组确定
if myarray is dynamic then
redim ...
end if
myarray(x) = y
在VB6中,您可以静态和动态地声明一个数组。当动态声明数组时,是否可以确定数组是否已声明为动态数据,因此可能需要“redim”才能使用它?即我正在寻找类似的东西:VB6动态数组确定
if myarray is dynamic then
redim ...
end if
myarray(x) = y
使用此代码
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,如果它是空的。
不幸的是,没有什么内在的东西来判断一个数组是否是动态的。您可以使用VB6阵列的底层实现的特殊知识一起破解一些东西,就像在Matt Curland的书中一样。
我认为最好的方法是使用函数in this answer。它测试数组是否是需要ReDimmed的动态数组。