使用Create Using创建的用户对象如何调用父窗口的函数?

goldg 2002-07-02 03:31:19
说明:
1、窗口中有一函数:of_test(),代码如下:
MessageBox('Test','Test')
2、已创建一Custom Visual用户对象uo_Test,uo_Test中有一按钮cb_Test,clicked事件中的代码如下:
window lw_parent
lw_parent = parent.GetParent()
if isvalid(lw_parent) then
lw_parent.Dynamic of_Test()
else
MessageBox('Error','Error')
end if
3、在窗口打开后Post执行如下代码:
Userobject luo_object
string ls_ObjectName

int li_index

li_index = 1

CHOOSE CASE li_Index
CASE 1
ls_ObjectName = 'uo_Test'
Case 2
ls_ObjectName = 'uo_test2'
END CHOOSE

luo_object = Create Using ls_ObjectName

openUserObject(luo_object)

问题:
在上述代码中,执行的是:MessageBox('Error','Error')。如何实现动态创建的对象能执行父的函数或事件?
而将3中的代码改为:
uo_test luo_object
openUsetObject(luo_object)
时能正常执行。

...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
goldg 2002-07-02
  • 打赏
  • 举报
回复
问题解决了,谢谢两位,在3中使用如下代码:
userobject ldo_test
string ls_test

int li_index

li_index = 1

CHOOSE CASE li_Index
CASE 1
ls_test = "uo_test"
Case 2
ls_test = "uo_test2"
END CHOOSE

openuserobject(ldo_test,ls_test)

我想实现的就是动态绑定。
openuserobject
Opens a user object when the data type of the user object is not known until the script is executed.
sh_yjy 2002-07-02
  • 打赏
  • 举报
回复
你的create using后面是祖先类,
而在你创建的类中你又要调用子孙类的方法,肯定出错!
应该Userobject uo_test
luoyefeng 2002-07-02
  • 打赏
  • 举报
回复
将Userobject luo_object改为uo_test luo_object,实际上create using 应该是动态创建某个object的实例,它的类型在定义语句中就决定了。Userobject luo_object实际上创建了一个标准对象,他根本没有uo_test的特性,肯定出错
goldg 2002-07-02
  • 打赏
  • 举报
回复
没人遇见过这样的问题吗?
如能解决这个问题,意义很重大。在线等待中...

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧