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_inputsrw中 我们对此文件进行编缉可看到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_inputsrw导入即完成窗口w_mmaintain_yw_input继承的修改
在用上述方法更改窗口继承时要注意
更改前应做好备份
如果改继承前父窗口与改继承后父窗口内控件有区别如上例有一个Command Button 保存在窗口w_mmaintain_en_ter_template中名字为cb_update而在窗口w_mmaintain_input_template中名字为cb_save则我们需要搜索文件w_mmaintain_yw_inputsrw将其中所有cb_update 改为cb_save否则导入操作将出错而不能完成
如果更改继承前父窗口与更改继承后父窗口内控件的区别过大也可用上述方法完成但比较繁琐建议仍用最直接的方法重建
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程