PowerBuilder应用开发系列讲座(23)
日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]-
函数与事件
在PowerBuilder5.0的PowerScript语言中,对于函数和事件的处理有了新的拓展。我们曾在关于PowerBuilder的面向对象特性中介绍过,PowerBuilder的对象由3部分内容组成:属性、函数和事件。而在5.0中,对于这部分理论进行了调整:将函数和事件进行了同化,统称为方法(Method)。在Script中调用函数和调用事件的方法进一步接近,事件也可带有参数,并具有返回值。
函数和事件即统称方法,调用的语法为:
{ objectname.} { type } { calltype } { when } functionname ({ argumentlist} )这些参数的说明如下:
type :所调用方法的类型,可以是EVENT或FUNCTION,其中FUNCTION为缺省。
calltype :所调用的类型,可以是动态(关键词为DYNAMIC)或静态(关键词为STATIC),其中STATIC为缺省。
when :调用的时间,POST或TRIGGER,其中TRIGGER为缺省。
当然,并不是所有的选项都是有意义的。比如我们不会去调用一个动态的PowerScript对象函数。只有在用户自定义函数中,我们才可能动态调用一个函数。允许对函数的调用采用Post方式是5.0的新特点。当函数以这一方式被调用时,系统将这一函数放在了这个对象的消息队列的末尾,当前面的所有消息都执行了以后,这一函数才被调用。采用这种方式调用函数,仍可以传递参数,却无法得到返回值。如:
// 合法语句
POST wf_calculate(x,y)
// 非法语句
Statue = Woo.cb_1.POST EVENT Clicked()
关键词STATIC是表示现在所调用的方法和所使用的参数在编译时是存在的。如:
STATIC EVENT ue_validates(ls_name, li_id)
如果关键词DYNAMIC出现在这一行调用的函数中,PowerBuilder在编译这一行代码时将不检查这个方法和所用参数的有效性,只是到了运行时,系统才会到PBD的库中去搜索这个方法。当在运行中需要根据当前不同情况的上下文调用不同的对象函数时,我们会用到这一关键词。例如:
PowerObject lpo
lpo = dw_1
lpo.dynamic show()
在运行前,也许我们还无法了解要对哪个对象进行show()的操作,只能等到运行时才能确定操作对象。如果在上述的语句中我们去掉关键词dynamic,系统编 鱿执砦?因为PowerObject对象类并没有show这个对象函数。一般来说,Dynamic关键词只有在调用多态方法时才可能用到,这实际上也是进一步拓展了PowerBuilder的面向对象的特性。
不过我们在调用方法时使用STATIC这一关键词,一般也只是为了系统在编译时对所引用的方法进行一下语法检查,以确保引用的正确性。如果我们在运行时改变了方法的对象名称,系统将调用改变后的对象的方法。我们来做这样一个实验: - [1] [2] [3] 下一页
-
- PowerBuilder应用开发系列讲座(23) 相关文章:
- ·PowerBuilder应用开发系列讲座(23)
- PowerBuilder应用开发系列讲座(23) 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:循序渐进学习Power Builder 6.0(14-2)
精品推荐
热点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访问不同数据库
