熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PB編程 >> 正文

PB中同時“繼承”多個用戶自定義數據窗口對象[2]

2022-06-13   來源: PB編程 
    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 //

[]  []  []  


From:http://tw.wingwit.com/Article/program/PB/201311/11112.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.