错错提示:Null object reference at line 48 in clicked event of object cb_1 of w_fillinform 怎么办?

crazysnail 2006-06-06 11:23:32
这是我的PB调试错误,我的 w_fillinform窗体上有个groupbox控件gb_1和commandbutton控件cb_1,gb_1上有个listbox控件list1,我想得到list1中的列表项目.
在cb_1的clicked事件中有语句:str1=list1.text(1) 保存没错误```但运行cb_1单击事件时提示这个~~~晕呀`` 我想这个list1已经实例化了```但为什么会提示这个列```

高手请问怎么办呀```
...全文
1610 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazysnail 2006-06-15
  • 打赏
  • 举报
回复
我晕呀` 我把这两条语句写到最上面去```
竟然没事了``

有没有搞错``` 算了``` 我想这是PB的一个小小的缺陷```

5楼的高手不信你也去试试呀`。
我在别的机子上试也是一样的错误````但把它写到最上面就OK了`

xyqiqi 2006-06-07
  • 打赏
  • 举报
回复
语法本身没有错,还是没有取到OBJECT,建议仔细查一下代码
crazysnail 2006-06-07
  • 打赏
  • 举报
回复
哪确实```但真的提示了这个错误呀`。
而且是48行的哪个/
就是s_room=reservedroomlistbox.text(1)
而哪句没有提示错误~
难道我的PB有错误?
回去试试```
princelily 2006-06-07
  • 打赏
  • 举报
回复
按照你说的listbox控键对象你用"reservedroomlistbox"来引用它,那请回答下边问题。
if reservedroomlistbox.text(1)<>"" then ----这句能通过么,step in调试了么?错误只有下边你说的那条么?
boolean flag
flag=newcust.writecustomerinfo(newcustinfo)
if flag then
messagebox("提示:","宾客登记成功",exclamation!,ok!)
close(this.getparent( ))
end if
string s_room
s_room=reservedroomlistbox.text(1) //它提示就是这行有错误```注掉它就没事了```
crazysnail 2006-06-07
  • 打赏
  • 举报
回复
我想是哪个引用不对? 因为list1在gb_1上```
但我在cb_1的click事件中直接写的list1.text(1)```
但这样写gb_1.list1.text(1)也错了```
不晓得要怎么办才好~```
我给你看源代码咯```楼上我的源代码中没有用list1名字``是reservedroomlistbox```


customerinfo newcustinfo
newcust= create customerclass
classroom r_room
r_room = create classroom
string teleno,mobileno,hadd,cadd
integer is_y,is_m,is_day,is_sex
is_y=integer(trim(yearlistbox.text))
is_m=integer(trim(monthlistbox.text))
is_day=integer(trim(daylistbox.text))

if (trim(sexlistbox.text)="男") then
is_sex=1
else
is_sex=0
end if

newcustinfo.customerid=trim(st_customerid.text) //一卡通号码

newcustinfo.customername=trim(sle_customername.text) //姓名

newcustinfo.customersex=is_sex //性别

newcustinfo.customerage=integer(agelistbox.text) //年龄
newcustinfo.customernation=trim(sle_nation.text) //民族
newcustinfo.homeaddress=trim(sle_homeaddress.text) //家庭住址
newcustinfo.customercompany=sle_companyname.text //公司名称
newcustinfo.companyaddress=trim(sle_companyaddress.text) //公司地址

newcustinfo.bornyear=is_y //年
newcustinfo.bornmonth=is_m //月
newcustinfo.bornday=is_day //日

newcustinfo.mobilenumber=trim(sle_mobilenumber.text) //手机号码
newcustinfo.customertelephone=trim(sle_telephonenumber.text) //固定电话
newcustinfo.emailaddress=trim(sle_emailaddress.text) //邮箱地址
newcustinfo.personnumber=integer(trim(sle_personnumber.text)) //订房人数
newcustinfo.customercardno=sle_certification.text //证件号码
if reservedroomlistbox.text(1)<>"" then
//integer i=1;
boolean flag
//for i=1 to reservedroomlistbox.totalitems( )
flag=newcust.writecustomerinfo(newcustinfo)
if flag then
messagebox("提示:","宾客登记成功",exclamation!,ok!)
close(this.getparent( ))
end if
string s_room
s_room=reservedroomlistbox.text(1) //它提示就是这行有错误```注掉它就没事了```

r_room.writedb(newcustinfo.customerid,mid(trim(newcustinfo.customerid),1,4),0)//mid(trim(newcustinfo.customerid),1,4)
else
messagebox("提示","宾客登记失败,没有选择房间,请选择!",exclamation!,ok!)
end if

return 1
princelily 2006-06-07
  • 打赏
  • 举报
回复
groupbox控键可以说就是一个装饰型的控键,所以这么写gb_1.list1.text(1)是没有必要的,这点可以肯定你的判断。
princelily 2006-06-07
  • 打赏
  • 举报
回复
按照你的表达,你的程序看上去是没有问题的。
应该和listbox控键的名称有关(list1),不妨删除控键,重新建立listbox控键(lb_1),然后在workspaces中右键点击w_fillinform对象,选择regenerate(重建)。
试试吧!要仔细检查哦!^-^

1,072

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧