有个问题很奇怪 在线等?

yufuhang3 2010-01-28 05:22:07
一个window里面画了一个dw 然后 在代码里又打开了一个自定义uo
在画面上是 dw
...全文
84 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wag_enu 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pb8 的回复:]
#4楼的办法可以,不过扩展性不一定好,呵呵,
我常用的办法是,在uo对象里面定义一个datawindow的实例变量idw_parent,再定义一个函数
of_bind(datawindow ad_dw),函数内容就是idw_parent=ad_dw
在窗口打开后调用
uo.of_bind(dw)
这样你在uo对象里面对idw_parent的引用就是dw的实例了~~
[/Quote]

对哦,这样就更灵活了 。。。
pb8 2010-01-28
  • 打赏
  • 举报
回复
#4楼的办法可以,不过扩展性不一定好,呵呵,
我常用的办法是,在uo对象里面定义一个datawindow的实例变量idw_parent,再定义一个函数
of_bind(datawindow ad_dw),函数内容就是idw_parent=ad_dw
在窗口打开后调用
uo.of_bind(dw)
这样你在uo对象里面对idw_parent的引用就是dw的实例了~~
yufuhang3 2010-01-28
  • 打赏
  • 举报
回复
谢谢 现在已经下班了 等明天验证一下 就结贴 如果别人有更好更简单的方法 欢迎跟帖
wag_enu 2010-01-28
  • 打赏
  • 举报
回复
还有一步,在uo的constructor 事件里写上对of_getparent() 的调用.
wag_enu 2010-01-28
  • 打赏
  • 举报
回复
这个操作需要了解dynamic 的作用.

1,在uo 里定义一个
window iw_parent
2,在uo 里写函数: of_getparent() 代码如下:

powerobject lpo_tmp
userobject luo_tmp

lpo_tmp = this.getparent()

DO While lpo_tmp.typeof() <> Window!
luo_tmp = lpo_tmp
lpo_tmp= luo_tmp.getparent()
LOOP

iw_parent = lpo_tmp
3,在承载该UO的window 中写自定义事件或函数,如 string uf_gtitemstring(),完成对DW 的取数操作.
4,再返回UO, 在你原来需要写对父窗口中的DW 取数的地方这么引用:

string ls_a
ls_a = iw_parent.dynamic uf_gtitemstring()

yufuhang3 2010-01-28
  • 打赏
  • 举报
回复
现在不是取值报错 而是 在uo里 系统不认 dw的名字
archlwh 2010-01-28
  • 打赏
  • 举报
回复
是不是列里面的类型不是string类型的啊
yufuhang3 2010-01-28
  • 打赏
  • 举报
回复
在画面上是 dw
uo
这样同时显示 ,我想从在uo的事件里从 dw里取出一个字段的值set到uo里 可是 我写成dw.getitemstring()的时候就报错 提示 dw的名字是未定义的变量 这是什么情况 怎么才能取出来
发帖
DataWindow

603

社区成员

PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
帖子事件
创建了帖子
2010-01-28 05:22
社区公告
暂无公告