pb通过类名称动态构建类对象(原创)

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/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值