IsNull() 是否防止对 null 对象的引用?
在我的 PowerBuilder 应用程序中,以下代码段在运行时导致 R0002 错误(正在引用空对象):
Window w = windows[idx]
IF NOT IsNull( w ) THEN
MessageBox( "", "ClassName is " + w.GetClassName() ) // This line crashes
END IF
有人知道这是为什么吗?我的印象是 IsNull() 专门用于测试空值。
In my PowerBuilder application, the following code segment causes an R0002 error at runtime (a null object is being referenced):
Window w = windows[idx]
IF NOT IsNull( w ) THEN
MessageBox( "", "ClassName is " + w.GetClassName() ) // This line crashes
END IF
Does anybody know why that is? I was under the impression that IsNull() is specifically meant to test for null values.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为这些是不同类型的 NULL。
一是值为NULL的变量
另一个是不存在或尚未实例化的对象。
在第二种情况下,您可能需要使用 isValid()。
I think these are different kinds of NULL.
One is a variable with the value of NULL
The other is an object that doesn't exist or hasn't been instantiated.
In the second case, you may want to use isValid().
使用
IsValid(w)
来确定对象变量是否被实例化——它的值是否是有效的对象句柄。Use
IsValid(w)
in order to determine whether an object variable is instantiated —- whether its value is a valid object handle.