2009-05-18 25 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

残念ながら、配列が動的かどうかを知るための本質的なものはありません。 Matt Curlandの本のように、基本的なVB6配列の実装に関する特別な知識を使って、おそらく何かをハックすることができます。

私は最良のアプローチは、機能in this answerを使用することだと思います。配列がReDimmedである必要がある動的配列かどうかをテストします。