PB 如何把结构作为参数传递?
2011-09-09 16:31:00| 分类: PowerBuilder | 标签: |举报 |字号大中小 订阅
目的:
在自定义函数/事件中,参数为结构.传入后能进行下一步处理
过程:
1.定义结构体,全局结构或对象结构都可
2.为结构体的成员变量赋值
stru_flmx lstru_flmx 申明结构变量
lstru_flmx.vs_hykh = ag_hykh
lstru_flmx.vs_lsdh = gvar.gs_mdid
lstru_flmx.vdt_dtime = datetime(today(),now())
lstru_flmx.vd_flje = ld_yflje
lstru_flmx.vd_dyjf = ld_ykjf
lstru_flmx.vs_lry = gvar.gs_username
3. 在自定义函数/事件中,参数为结构时,参数类型应为: PowerObject
<1>如果结构是全局结构,则在自定义函数/事件中引用message对象的PowerObjectParm属性
<2>如果是对象结构,则以参照以下:
stru_flmx lstru_flmx 申明一个结构变量
lstru_flmx = ag_stru 将参数ag_stru(结构)直接赋给lstru_flmx
ll_row = dw_3.insertrow(0)
dw_3.setitem(ll_row,"hykh",lstru_flmx.vs_hykh) 即达到从传入的结构参数取得值
dw_3.setitem(ll_row,"lsdh",lstru_flmx.vs_lsdh)
dw_3.setitem(ll_row,"dtime",lstru_flmx.vdt_dtime)
dw_3.setitem(ll_row,"flje",lstru_flmx.vd_flje)
dw_3.setitem(ll_row,"dyjf",lstru_flmx.vd_dyjf)
dw_3.setitem(ll_row,"lry",lstru_flmx.vs_lry)
5.小结
<1> 在结构被赋值后引用时应判断下传入的结构是否有效
<2> 不用结构,用用户对象UserObject其实也很方便!