pb能通过类名称动态产生类对象,方法:create using ls_classname
实现目标:利用一个表进行管理app的类。并在用户点击的时候动态构建类对象。
需要:
对象基类
对象管理表
以下是方法:
实例变量
Private: long il_pos_x, il_pos_y str_module istr_modules[]
u_father uo_t[] n_ds ids
str_module istr_module[] |
w_main:open event
ids = create n_ds il_pos_x = r_main.x + 8 il_pos_y = r_main.y + 8
// of_crt_userobject(integer as_classname )
int li_rowcount, i, li_openStatus string ls_classname
ids.dataobject = 'dw_fun_extra' li_rowcount= ids.rowcount()
for i=1 to li_rowcount ls_classname = ids.getitemstring(i, 'classname') istr_module[i].classname = ls_classname /* 1、一次性构建类对象,但是不显示;这样做系统开始的开销比较大。 2、通过每次点击构建对象,首先判断对象是否已经构建。这样需要2步操作:(该方法未实现) 1)构建一个对象数组 2)在该数组中注册类对象的名称 3)判断类对象是否有效,如果无效则创建,否则显示该对象即可。 */ istr_module[i].object = create using ls_classname next
wf_tv_create() of_crt_userobject('u_test1' ) |
of_crt_userobject()
// of_crt_userobject() /* 目的:根据类名动态建立类对象 好处:方便管理 实现方法: datastore 基类对象 */ int i for i = 1 to upperbound(istr_module[]) if istr_module[i].classname=as_classname then this.OpenUserObject (istr_module[i].object, il_pos_x, il_pos_y ) istr_module[i].object.setposition(toTop!) exit end if next
|
下载:fs2you://Y2FjaGVmaWxlMTgucmF5ZmlsZS5jb20vemgtY24vZG93bmxvYWQvODFjNjUwMzZkZGNhYmNhMzE2M2Q2ZmJmMzNjNzU2MDcvZHluQ3JlYXRlT2JqVGVzdC5yYXJ8MTM0NjE=/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3090/viewspace-604887/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/3090/viewspace-604887/