精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Powerbuilder>>用户界面技术>>如何在窗口之间传递多个参数?

主题:如何在窗口之间传递多个参数?
发信人: tangyuq()
整理人: leitiger(2002-06-11 11:22:51), 站内信件
各位高手有没有在窗口之间传递参数的好办法?
如:
在w_parent中打开了w_child窗口,但在w_child的open事件中
要用在w_parent中得到的条目代码tmdm作为调用retrieve的参数!

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 210.39.3.80]


发信人: unicode (Teddy), 信区: Powerbuilder
标  题: Re: 窗口之间传递参数的好办法?
发信站: 网易虚拟社区 (Wed Aug  4 17:19:29 1999), 站内信件

如果是一个参数,那很简单:
openwithparm(w_child,tmdm)
在w_child的open事件中:
string tmdm
tmdm=message.stringparm
dw_1.settrans(sqlca)
dw_1.retrieve(tmdm)


--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.97.186.60]


发信人: unicode (Teddy), 信区: Powerbuilder
标  题: Re: 窗口之间传递参数的好办法?
发信站: 网易虚拟社区 (Wed Aug  4 17:22:07 1999), 站内信件

补充:如果参数是字符型用stringparm
如果是整数或小数用doubleparm,不知为什么整数我用longparm不好用。

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.97.186.60]


发信人: sunhu (虎子), 信区: Powerbuilder
标  题: Re: 窗口之间传递参数的好办法?
发信站: 网易虚拟社区 (Wed Aug  4 18:30:09 1999), 站内信件

messge变量用n_msg型的,可传多个参数

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.102.60.185]


发信人: edison (edison), 信区: Powerbuilder
标  题: Re: 窗口之间传递参数的好办法?
发信站: 网易 BBS (Wed Aug  4 19:11:57 1999), 转信

如果你只是传递一个参数这种方法是最简单的方法。
下面是叫你如何传递多个参数:
    首先定义一个自动实例化的用户自定义对象
        n_cst_attrib
    在该对象中将你需要传递的各种参数申明成实例变量,例如:
      Public:
        ID:Integer
        Name:String
        ...
        ...
    如要打开窗口 W_A,并传递参数 ID 与 NAME 
        n_cst_attrib lnv_param

        lnv_param.id=1
        lnv_param.name="edison"      
        
        OpenWithParm ( w_a, lnv_param )
   
    在 w_a 的 open 事件中访问传来的参数
        n_cst_attrib lnv_param

        lnv_param = Message.PowerObjectParm
      
     Ok, Just access lnv_param.id or lnv_param.name

    这种传递参数的方法是 PFC 中的方法。而且许多外国人写的程序也采用这种方法。
    有的网友提议自定义 Message 对象。这也是一种方法,但是这种方法缺少灵活性。而
    PFC 的这种方法就非常灵活。

  
【 在 unicode (Teddy) 的大作中提到: 】
: 如果是一个参数,那很简单:
: openwithparm(w_child,tmdm)
: 在w_child的open事件中:
: string tmdm
: tmdm=message.stringparm

--
※ 来源:.网易 BBS bbs.netease.com.[FROM: 202.96.191.124]


发信人: yaya_feng (丫丫), 信区: Powerbuilder
标  题: Re: 窗口之间传递参数的好办法?
发信站: 网易虚拟社区 (Wed Aug  4 20:15:42 1999), 站内信件

最简单是把整个window或datawidow以powerobject方式传递给其他window.
那么就可以随便调用其中的项了.即:
在w!窗口中
openwithpram(w_2,this)或openwithpram(w_!,dw_!)
在w_2窗口的open中写
w_2 lw_win
lw_win=message.powerobjectpram
OR
u_dw ldw_pram
ldw_pram=message.powerobjectpram



--
天下一丫丫

※ 修改:.yaya_feng 于 Aug  4 20:51:33 修改本文.[FROM: 202.104.34.6]
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.34.55]


发信人: unicode (Teddy), 信区: Powerbuilder
标  题: Re: 窗口之间传递参数的好办法?
发信站: 网易虚拟社区 (Thu Aug  5 21:36:03 1999), 站内信件

【 在 yaya_feng (丫丫) 的大作中提到: 】
: 最简单是把整个window或datawidow以powerobject方式传递给其他window.
:    .......

这么古怪的招法。

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.97.184.162]


发信人: yaya_feng (丫丫), 信区: Powerbuilder
标  题: Re: 窗口之间传递参数的好办法?
发信站: 网易虚拟社区 (Sat Aug  7 00:19:58 1999), 站内信件

我可一直用这方法,定义了以DATAWIN作参数后可对DATAWIN直接进行操作
如查找,插入,删除。

--
天下一丫丫

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 210.184.18.152]

[关闭][返回]