数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

PB中同时“继承”多个用户自定义数据窗口对象[2]


发布日期:2023年09月16日
 
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(rowdwodata)

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

//建立对象数组元素的实例 以便对Uo_DwB进行引用

Lgo_BaseDwObject[] = Create Uo_DwB //

[] [] []

               

上一篇:PB中同时“继承”多个用户自定义数据窗口对象[3]

下一篇:PB中同时“继承”多个用户自定义数据窗口对象[1]