用 OpenWithParm 打开窗口并向窗口传递参数时,PowerBuilder 只允许传递一个参数,例如: OpenWithParm(w_abc, "hello")
如何传递多个参数呢?很简单,创建一个结构,将你希望传递的参数都定义到这个结构中去。
例如:首先定义结构 str_parms
然后在 script中声明结构变量:
str_parms l_str_parms
给结构变量赋值:
l_str_parms.name = "Smith"
l_str_parms.tel = "1234567"
OpenWithParm(w_abc, l_str_parms)
在窗口 w_abc的open事件中输入代码如下:
str_parms l_str_parms
l_str_parms = Message.PowerObjectParm
这个方法同样适用于CloseWithReturn.
sle_1.text=message.stringparm
//
us_dragon lus_dragon
lus_dragon.name = "Smith"
lus_dragon.id = "1234567"
lus_dragon.sex="F"
//string ls_aaa
//ls_aaa=sle_1.text
openwithparm(w_bbb,lus_dragon)
//
us_dragon lus_dragon
us_dragon lus_id
lus_dragon=Message.PowerObjectParm
lus_id=Message.PowerObjectParm
//sle_2.text=lus_dragon.name
sle_2.text=lus_id.id