1

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

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

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

4

2 回答 2

5

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

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

于 2009-08-27T16:00:14.790 回答
3

用于IsValid(w)判断一个对象变量是否被实例化——它的值是否是一个有效的对象句柄。

于 2009-08-28T08:18:10.597 回答