PowerBuilder是Sybase公司的獨資子公司PowerSoft推出的應用於客戶機/伺服器體繫結構下的應用程式開發工具,也是一種物件導向的圖形化互動式開發工具。PowerBuilder 以其簡潔高效的整合式開發環境、 強大的資料視窗技術、幾乎無所不能的資料庫訪問能力和友好的使用者介面,越來越受到編程人員的青睞。
PowerBuilder採用真正的物件導向技術,而“繼承”是物件導向的一大特徵,充分利用這一技術,可以在很大程度上減少我們編程的工作量,加速開發進程。
視窗的繼承在PowerBuilder中最為常見,在開發過程中,我們經常會遇到更改視窗繼承的情況。此時,建立並繼承一個新視窗,重做一遍是常見的辦法,但某些時候我們可用Export 和Import方便地實現視窗繼承的更改。現以更改視窗w_mmaintain_yw_input的繼承視窗(父視窗)為例進行說明。
一、 使用Export
在Library Painter 中選中視窗w_mmaintain_yw_input
然後在主菜單中選擇 Entry →再選Export ,PB將此視窗匯入一檔案w_mmaintain_yw_input.srw中 ,我們對此檔案進行編緝,可看到PB將此視窗中所有對象的定義以及我們編寫的所有指令碼全部匯入此檔案。
其中此視窗的定義描述有如下語句:
global type w_mmaintain_yw_input from w_mmaintain_enter_template
表明視窗w_mmaintain_yw_input 是從視窗w_mmaintain_enter_template繼承而來的。
若描述如下:
global type w_mmaintain_yw_input from Window
表明視窗w_mmaintain_yw_input沒有使用繼承,而是直接建立的。
如果我們要將視窗w_mmaintain_yw_input 的繼承視窗(父視窗)更改為w_mmaintain_input_template,則我們可將上述語句改為:
global type w_mmaintain_yw_input from w_mmaintain_input_template
並搜尋w_mmaintain_enter_template,將其全部更改為w_mmaintain_input_template
編緝完成後存檔。
二、 使用Import
在主菜單中選擇 Entry →再選Import,
選擇我們剛才所編緝的檔案w_mmaintain_yw_input.srw匯入,即完成視窗w_mmaintain_yw_input繼承的修改。
在用上述方法更改視窗繼承時要注意:
1.更改前應做好備份。
2.如果改繼承前父視窗與改繼承後父視窗內控制項有區別,如上例,有一個Command Button “儲存”在視窗w_mmaintain_en_ter_template中名字為cb_update,而在視窗w_mmaintain_input_template中名字為cb_save,則我們需要搜尋檔案w_mmaintain_yw_input.srw,將其中所有cb_update 改為cb_save,否則匯入操作將出錯而不能完成。
3.如果更改繼承前父視窗與更改繼承後父視窗內控制項的區別過大,也可用上述方法完成,但比較繁瑣,建議仍用最直接的方法——重建。