1

我有两个窗口,可以说 w_base1 和 w_base2。现在在 w_base1 我写了下面的语句,它工作正常。

ls_Value = This.GetItemString(ll_CurrRow, "af_value")

现在我想在 w_base2 中使用相同的上述语句,但它给出了以下错误:

Powerbuilder 应用程序执行错误 (R0002) 应用程序终止。错误:对象 w_base2 的 abcd 事件中第 230 行的空对象引用。

当它终止应用程序时,它直接进入上述语句,即

ls_Value = This.GetItemString(ll_CurrRow, "af_value")

我相信问题出在 af_value 上,我无法看到它实际获取的内容,但根据上述错误,它正在与 Null 相关。谁能尽快帮我解决这个问题。

4

1 回答 1

4

你的错误说line 230 in abcd event of object w_base2,这听起来像一个窗口,但你的代码说This.GetItemString()。GetItemString 是一种 DataWindow 方法,不能在窗口上使用。检查您的代码是否实际在 DataWindow 控件上运行。

如果类型af_value不是字符串,那么你会得到一个执行错误(虽然我认为它应该是一个不同的错误?)

基本上这个错误意味着你引用了一个不存在或超出范围的对象。检查您是否也将 DataWindow 对象分配给 DataWindow 控件。

你可以排除的事情:

  1. 如果 的内容af_value为空,那么你会得到一个空 in ls_Value,但你不会得到这个错误。
  2. 如果行或列不存在,您将收到“指定的行/列无效”。
于 2009-06-03T12:58:52.770 回答