PB 如何把结构作为参数传递

PB 如何把结构作为参数传递?

2011-09-09 16:31:00| 分类: PowerBuilder | 标签: |举报 |字号 订阅

目的:

在自定义函数/事件中,参数为结构.传入后能进行下一步处理

过程:

1.定义结构体,全局结构或对象结构都可

PB 如何把结构作为参数传递_第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

PB 如何把结构作为参数传递? - HRT - ls_hrt的博客

4.在自定义函数/事件如何引用传入的结构

<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其实也很方便!

你可能感兴趣的:(function,PowerBuilder,控件)