ITPub博客

首页 > Linux操作系统 > Linux操作系统 > pb通过类名称动态构建类对象(原创)

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

原创 Linux操作系统 作者:coolhe 时间:2009-06-02 09:35:39 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: PB 相关下载
下一篇: VNC远程访问Linux
请登录后发表评论 登录
全部评论

注册时间:2009-04-14

  • 博文量
    118
  • 访问量
    561811