2012-05-07 7 views
0

可能性の重複:関数は結果として動的配列を返している状況で
How do I determine if an array is initialized in VB6?
vb 6.0では、動的配列が初期化されているかどうかをどのように知ることができますか?

How do I check for an object being Nothing in VB6?

、ダイナミックアレイは(のために初期化されなかった可能性があります例、実行のエラー)。この状況を確認することは可能ですか?

機能IsNothing()は機能しません。この場合、UBound()はエラーを作成しています。例えば

:事前に

Function find(results() As String) 

    [Definition here...] 

End Function 

[...] 

Dim results() As String 
find(results) 
If UBound(results) > 0 Then '<-- This line will fail when results was not defined 

[...] 

ありがとう!

+0

@finnwこれは重複していますが、選択した質問の*ではありません。 – MarkJ

答えて

1

私はこの同じ問題に遭遇し、これを行うためのきれいな方法を見つけることができませんでした。私はエラーハンドラでラップされたUboundを実装する独自の関数を作成しました。失敗した場合、-1を返します。

Private Function custom_UBound(ByRef ToTest() As String) 
    On Error GoTo errHandler 

    custUBound = UBound(ToTest) 

    Exit Function 
errHandler: 
    custUBound = -1 
End Function 
+0

これを行うには他にもいくつかの方法がありました。[重複する質問](http://stackoverflow.com/questions/5340881/how-do-i-check-for-an-object-being-nothing-in-vb6 ) – MarkJ

+0

ありがとう、ありがとう!申し訳ありませんが、私は他の質問が関連しているのを見ました。私は最初にそれらを見つけなかった。 – dajoropo

関連する問題