在PB中动态调用函数
日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]-
目前流行的大部分应用程序中都提供了Undo功能,在PowerBuilder中也可以利用Undo()函数实现该功能。
Undo()函数可用于DataWindow, EditMask, MultiLineEdit, RichTextEdit和SingleLineEdit 对象,如果只对某一个对象进行Undo操作,只需在Undo菜单项的单击事件中键入如下脚本:Objectname.undo(),但是当窗口中有多个对象,我们在编写脚本时并不知道要对哪个对象执行undo()操作,如何解决这一问题呢?在PowerBuilder中,undo()等函数只能用于可视对象,而所有可视对象均继承自系统对象类GraphicObject。因此我们可以定义一个GraphicObject对象的实例变量go_object,等到运行时再用getfocus()函数确定具体操作对象。然后用Typeof()函数确定当前对象的类型,再用Choose case语句根据不同的类型引用不同的实例变量,代码如下:
graphicobject go_object
DataWindow dw_object
EditMask em_object
MultiLineEdit mle_object
RichTextEdit rte_object
SingleLineEdit sle_object
go_object=getfocus()
choose case TypeOf(go_object)
case DataWindow!
dw_object=go_object
dw_object.undo()
case EditMask!
em_object=go_object
em_object.undo()
case MultiLineEdit!
mle_object=go_object
mle_object.undo()
case RichTextEdit!
rte_object=go_object
rte_object.undo()
case SingleLineEdit!
sle_object=go_object
sle_object.undo()
case else
messagebox("Error","Can not undo")
end choose
其实我们可以用动态调用函数的方法简单地解决这一问题(只需三行代码),即对GraphicObject对象调用undo()函数,然后在函数名前加上关键字Dynamic。因为对象类GraphicObject并没有undo()这个对象函数,如果不加关键字Dynamic,编译时就会出现错误。使用了Dynamic关键字,PowerBuilder在编译时不检查该函数和所用参数的有效性,而到脚本运行时才去检查该函数。代码如下:
GraphicObject go_object
- [1] [2] 下一页
-
- 在PB中动态调用函数 相关文章:
- ·在PB中动态调用函数
- 在PB中动态调用函数 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:用PowerBuilder6.0建立B/S结构应用程序
精品推荐
热点TOP10
- ·在PB中用Flash制作Splash封面
- ·在PB中如何对ASA进行数据备份
- ·循序渐进学习Power Builder 6.0(13-3)
- ·循序渐进学习Power Builder 6.0(15-4)
- ·循序渐进学习Power Builder 6.0(15-2)
- ·循序渐进学习Power Builder 6.0(14-3)
- ·循序渐进学习Power Builder 6.0(14-2)
- ·在pb6.0以上版本中创建数据库
- ·PowerBuilder应用开发系列讲座(23)
- ·PowerBuilder应用开发系列讲座(39)
- ·PowerBuilder应用开发系列讲座(4)
- ·在PB中用OLE存取blob类型数据
- ·PB5对SQLSERVER6数据库的访问
- ·深入了解PowerBuilder的数据窗
- ·PowerBuilder应用开发系列讲座(38)
- ·在PB中动态调用函数
- ·PowerBuilder应用开发系列讲座(3)
- ·用PowerBuilder6.0建立B/S结构应用程序
- ·PowerBuilder实用技巧八则
- ·PB应用ODBC访问不同数据库
