首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

空对象引用的有关问题(null object reference)

2012-02-15 
空对象引用的问题(null object reference)有这样一段代码,用的是数据存储openwithparm(w_unit_list,s)Data

空对象引用的问题(null object reference)
有这样一段代码,用的是数据存储
openwithparm(w_unit_list,s)
Datastore   dw
dw=   create   Datastore
dw=message.PowerObjectParm
if   isnull(dw)=false   then
int   irow,rows
rows=dw.rowcount()
for   irow=1   to   rows
if   irow   =1   then
this.object.company[row]=dw.object.company[1]
else
int   ii
ii=this.insertrow(0)
              this.object.company[ii]=dw.object.company[irow]
end   if
next
end   if
用控制菜单上的叉叉关闭窗口时,会报错:
error:null   object   reference   at   line   15   in   buttonclicked   event   of   object   dw_3   of   w_add_item.
15行是:rows=dw.rowcount()这一句

[解决办法]
试试setTransObject(sqlca)
[解决办法]
很可能是你窗口变量没有传递过来
另:用IsValid(dw)=True 来判断,不是Isnull()
[解决办法]
试下:
Datastore dw
dw= create Datastore
dw=message.PowerObjectParm
-----------------------------改成
datawindow dw
if isvalid(message.PowerObjectParm) then
dw = message.PowerObjectParm
end if
dw.settransobject(sqlca)
dw.retrieve()
-----------------------
int irow,rows
rows=dw.rowcount().........
[解决办法]
message.PowerObjectParm是datawindow还是datastore?如果是传datastore,那么:
-----------
Datastore dw
dw= create Datastore
if isvalid(message.PowerObjectParm) then
dw=message.PowerObjectParm
....
跟踪下,看是否传过来,从报错看,你传的对象不存在``

热点排行