求助有关全局结构的使用问题

tomorrower 2003-07-20 09:31:50
由于我经常要在不同的窗口中传递多余一个的数据,为了防止过多的全局变量造成混乱,所以我设置了一个全局变量stru_spxx(商品信息),并且在Global Variables上面定义了一个该全局变量的实例stru_spxx is_splxdm。但是在运行调试中看到该结构中有两个items!该两个ietms的内容完全一样!我都是通过openwithparm(w_djlr_teshu3,is_splxdm)传递实例,和is_splxdm= message.PowerObjectParm利用message对象传递。这样的问题出在哪里?


其实我心中的疑点还有的是每次都通过is_splxdm= message.PowerObjectParm向message对象要数据,什么时候把数据传输到message对象中呢?
...全文
31 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomorrower 2003-07-20
  • 打赏
  • 举报
回复
我知道closewithreturn()只是用在popup型窗口中,但是我的窗口只是main型的。
我是在一个main型的窗口对该全局结构变量的组件进行赋值,由于不能使用closewithreturn()就只是使用close(parent)关闭该窗口了。
然后在该窗口中使用openwithparm(w_djlr_teshu3,is_splxdm)打开其他的popup窗口,在打开的窗口中,利用is_splxdm= message.PowerObjectParm获得对该结构的引用,这样有问题吗?
tomorrower 2003-07-20
  • 打赏
  • 举报
回复
是不是在给该结构变量赋值的窗口的close按钮里面一定要使用closewithreturn()来将该值传递到message对象中?还是一般的close(parent)就足够了?
tomorrower 2003-07-20
  • 打赏
  • 举报
回复
不是,我说的是全局型的结构变量!stru_spxx是一个结构,里面有11个不同数据类型的变量。
有多个窗口使用该结构变量里面的值。
tulip2108 2003-07-20
  • 打赏
  • 举报
回复
在你用openwithparm(w_djlr_teshu3,is_splxdm)打开窗口里,is_splxdm自动赋值给message.powerobjectparm,传参数还可以用非可视用户象。既然is_splxdm是全局的就不用再从message.powerobjectparm里取了。
fibbery 2003-07-20
  • 打赏
  • 举报
回复
你所定义的本身就是全局变量,然后还要向message传递,就不必要了。两个items是不是与这个有关??
定义全局变量,直接使用。如果,到处都要用到。
tomorrower 2003-07-20
  • 打赏
  • 举报
回复
你是说定义结构也用局部的?
jessicahp 2003-07-20
  • 打赏
  • 举报
回复
其实不矛盾,如果你在窗口之间传递很多值的话,那么就应该使用结构体局部实例变量,没有必要使用全局的。
tomorrower 2003-07-20
  • 打赏
  • 举报
回复
谢谢!
我在窗口中使用openwithparm(w_djlr_teshu3,is_splxdm)打开popup型w_djlr_teshu3窗口,那么要在w_djlr_teshu3窗口中使用结构变量is_splxdm的话,还是否需要在w_djlr_teshu3窗口的open事件里面is_splxdm= message.PowerObjectParm去取message对象的属性?
klbt 2003-07-20
  • 打赏
  • 举报
回复
全局变量尽量少用,有很多副作用。

743

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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