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 //
[] [] []