修改用户自定义的函数 PB中同时“继承”多个用户自定义数据窗口对象[2]
PB中同时“继承”多个用户自定义数据窗口对象[2]
GraphicObject Igo_BaseDwObject[] //每一个元素是一个基本对象的实例引用 IntegerIi_BaseDwObjectNumber //保存元素的个数加一个用来注册的对象函数 用来注册基本功能对象 Uf_Register (GraphicObject a_obj[] DataWindow adw_object)
函数内容
Long Ll_Circulater Ii_BaseDwObjectNumber = UpperBound (A_Obj[]) FOR Ll_Circulater = TO ii_basedwobjectnumber Igo_BaseDwObject[Ll_Circulater] = A_Obj[Ll_Circulater] // 下行脚本用来注册基本功能对象中的实例变量 Idw_THIS (说明见下文) //Igo_BaseDwObject[Ll_Circulater] Function Dynamic Uf_RegisterDwo ( Adw_Object) END FOR Return
为中间层对象中加入每个基本功能对象拥有用户自定义事件 在中间层对象的每个事件中加入如下脚本(事件Clicked) Long Ll_Circulater //调用被注册过的每个基本功能对象的相同的事件脚本 FOR Ll_Circulater = TO Ii_BaseDwObjectNumber //如果当前事件为EditChanged 则把下行脚本中的Clicked(xpos ypos row dwo) 部分替换为 EditChanged(row dwo data) Igo_BaseDwObject [Ll_Circulater] Event Dynamic Trigger Clicked (xpos ypos row dwo) END FOR Return
新建一个窗口 命名为W_TestInterlayer 在窗口中放置中间层对象 Uo_DwInterlayer 默认控件名 Dw_ 然后在控件Dw_ 的Constructor 事件中对需要引用的基本功能对象进行注册 即可实现引用基本功能对象的目的 基本功能对象可以是任意个 在Dw_ 的Constructor 事件中加入如下脚本 //注册基础数据窗口对象 GraphicObject Lgo_BaseDwObject [] //声明一个可变长度的一维对象数组
//建立对象数组元素的实例 以便对Uo_DwA进行引用 Lgo_BaseDwObject[ ] = Create Uo_DwA
![修改用户自定义的函数 PB中同时“继承”多个用户自定义数据窗口对象[2]](http://img.zhputi.com/uploads/1cec/1cecd331ece66944e2c43428a84225cd11730.jpg)
//建立对象数组元素的实例 以便对Uo_DwB进行引用 Lgo_BaseDwObject[ ] = Create Uo_DwB //
lishixinzhi/Article/program/PB/201311/11112