2009-08-27 4 views
1

(nullのオブジェクトが参照されている)、実行時にR0002エラーが発生します。つまり、なぜIsNull()はヌルオブジェクトへの参照に対して保護しますか?私のPowerBuilderアプリケーション、次のコードセグメントで

Window w = windows[idx] 
IF NOT IsNull(w) THEN 
    MessageBox("", "ClassName is " + w.GetClassName()) // This line crashes 
END IF 

誰もが知っていますか?私はIsNull()が特にnull値をテストすることを意図しているという印象を受けました。

答えて

5

これらはNULLの種類が異なると思います。 1つはNULLの値を持つ変数です もう1つは存在しない、またはインスタンス化されていないオブジェクトです。

2番目のケースでは、isValid()を使用することができます。

3

IsValid(w)を使用すると、オブジェクト変数がインスタンス化されているかどうか(その値が有効なオブジェクトハンドルであるかどうか)を判断できます。

関連する問題