IsNull()是否防止对null对象的引用?

时间:2009-08-27 13:36:17

标签: powerbuilder

在我的PowerBuilder应用程序中,以下代码段在运行时导致R0002错误(正在引用空对象):

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

有人知道为什么吗?我的印象是IsNull()专门用于测试空值。

2 个答案:

答案 0 :(得分:5)

我认为这些是不同种类的NULL。 一个是值为NULL的变量 另一个是不存在或尚未实例化的对象。

在第二种情况下,您可能希望使用isValid()。

答案 1 :(得分:3)

使用IsValid(w)来确定是否实例化了对象变量 - 它的值是否是有效的对象句柄。