工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > PB > 正文
PB8.0应用程序编译发布技术研究
[文章信息]
作者:蒋望东 林士敏
时间:2004-09-10
出处:计算机与信息技术
责任编辑:方舟
[文章导读]
本文主要讨论基于Windows平台的PowerBuilder 8.0应用程序编译发布关键问题和解决方法
advertisement
热点推荐
· 真没想到VB也可以这样用之指针技术
· 禁止QQ登录的方法
· 给你的XML文件做个数字签名
· ImageReady制作“焰火”小动画
· Java加密和数字签名编程快速入门
[正文]

1 2 3  下一页

  摘要:本文主要讨论基于Windows平台的PowerBuilder 8.0应用程序编译发布关键问题和解决方法,包括执行文件的建立、资源文件的创建、安装程序的建立及添加数据源和SQL anywhere 数据库移动处理等问题。关键字:软件开发、PowerBuilder 8.0、应用程序发布、Setup程序制作

  
引言

  PowerBuilder+ODBC+SQL anywhere是目前开发数据库应用程序非常流行的模式。但PowerBuilder本身仅是一个开发工具,当一个应用程序被开发并完成调试后,我们还需对其建立可执行文件并移植到终端用户的机器上,其中ODBC的配置和SQL anywhere的安装是难点,本文论述基于Windows平台的PowerBuilder 8.0应用程序编译发布关键技术问题和解决办法。

  执行文件的建立

  1、编译格式的选择

  PowerBuilder 8.0对生成可执行文件提供了两种编译格式:伪代码(Pcode,即pseudocode的缩写)和机器代码(Machinecode)。伪代码是一种在所有PowerBuilder 平台上支持的解释性语言,它的格式与PowerBuilder 运行库(.pbl)一样,在可执行状态下保存单个对象,其优点是方便和可移植;机器代码则是真正的完全脱离PowerBuilder 环境的可执行文件,其优点是速度快,但文件容量比较大。选择编译代码格式一般基于以下三个方面:

  ①速度。若目标是优化运行速度和应用强化脚本处理,则选择机器代码。要是代码中较多地使用了循环结构、浮点运算或整数算法及函数调用,机器代码将比伪代码做得更好。但伪代码的编译速度比机器代码快,特别是开发人员要快速地创建测试用的可执行文件时非常便利;

  ②大小。伪代码生成的文件比机器代码的小。如运行应用程序的终端机器容量紧张的话,就需要放弃较快的机器代码而选择伪代码;

  ③移植。伪代码对于跨平台的应用非常有用。它可以方便地跨平台(PowerBuilder 支持)使用,包括:Microsoft Windows (16位和32位)、AppleMacintosh和UNIX。机器代码是依赖于平台的,也就是说要求生成和可执行应用平台一致,不过它可以获得更好的性能。

  2、动态库的建立

  发布PowerBuilder 8.0应用可以将一些对象不放到可执行文件中,而放到动态库中在运行时装入,这样可以将应用程序分割成更小的模块便于管理和维护。

  选择伪代码(Pcode)编译方式生成PowerBuilder动态库(.pbd文件),选择机器代码(Machinecode)方式在Windows和UNIX平台上生成动态链接库(.dll文件,如将test.pbl编译成test.dll),在machine平台上生成平台支持的共享库(如test.lib)。如果在Windows上有两个应用,那么编译成的.pbd包含一个调用全局外部函数的用户对象,为了保证正确调用函数必须为每个应用单独编译和发布.pbd文件。

  当建立动态库时,将源库(.pbl文件)中所有对象的编译版本拷贝到动态库中。为了在某些库中只使用所需的对象,可以将它们放到一个标准的PowerBuilder库(.pbl)中。

  在建立动态库时,PowerBuilder并不检查所有对象,只是简单地去掉对象的源格式,因此,对于一些在画笔或脚本中指定了使用资源(图形、图标或指针)的对象,若不想提供单独的资源,则必须在资源文件(.pbr)中罗列出这些资源,这样才能保证在建立动态库时包含这些资源。

  动态库的建立有两种途径:一是在库管理画笔中建立;二是在工程画笔中建立工程对象时一起建立。

  3、资源文件的使用

  可执行文件或动态库中可以包含一些资源(图形、图标或指针),也可以将它们作为单独的资源文件(.pbr文件)保存。

  (1)单独的分布资源

  若某资源不包含在可执行文件或动态库中,则在执行应用程序引用它时,PowerBuilder按查询路径查找该资源,因此,必须将它与应用程序一起放在查询路径下。

  Windows的查询路径为:当前目录,Windows目录,Windows的System目录和PATH环境变量中设置的所有目录。

  (2)资源文件

  可以使用PowerBuilder资源文件(.pbr)替代单独的资源,其中列出所有的动态分配的资源也可以包含动态分配的数据窗口对象。PowerBuilder将这些资源编译后放入可执行文件或.pbd文件中,这些资源在执行时可直接使用。

  若给数据窗口控件动态分配数据窗口对象,则必须创建一个资源文件,且在可执行文件或动态库文件中包含该对象,或在一个单独的动态库中包含它。

  资源文件(.pbr)是一个ASCII码文件,在其中列出了应用程序要有到的各种资源(如.bmp、.cur、.ico、.rle和.wmf文件)和数据窗口对象。使用文本编辑器(如Windows的记事本)创建一个文本文件,其中列出在应用中动态引用的资源文件,一行列出一个资源,格式如:

appico.ico
appbmp1.bmp
appbmp2.bmp
……

  以上文件和对象都假设是在当前目录中,如果存在于另一个目录中,则必须包含所在路径,格式如:

e:\myapp\test.jpg。

  在.pbr文件中指定的文件名必须与在脚本中引用的资源匹配,若引用时包含路径,则在.pbr文件中也必须包含同一路径,否则因PowerBuilder在执行时只是简单地进行字符串比较而导致无法发现该资源。

  若应用程序中包含有动态引用的数据窗口,则在.pbr文件中必须包含数据窗口对象,格式如:

myapp.pbl(dw_infodisplay)

  其中:myapp.pbl为应用程序库,dw_infodisplay为数据窗口对象,一般是在当前目录或指定路径。在执行时,若引用资源,PowerBuilder首先检查可执行文件,找不到再在.pbd文件中、文件查询路径的目录中查找。

  在工程画笔中建立工程对象时可以为可执行文件或每一个动态库指定它使用的资源文件,也可以在库管理画笔中建立动态库时使用。


1 2 3  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • PB动态报表格式自由定义的实现
  • 用PowerBuilder实现Flash动画播放
  • 多层C/S系统及其在PB中的应用
  • 用PowerBuilder实现多层C/S系统
  • 用PB开发多媒体数据库管理系统
  • 民营家电商排队造手机 设备商全面杀入
  • 英特尔澄清杨旭任职传闻 官方没宣布此消息
  • 国资委河北密制联通拆分方案
  • 垃圾邮件害人害企害国 清除垃圾邮件不手软
  • 中兴携手阿尔卡特 全球逐鹿CDMA
  • 用友总裁王文京:誓将ERP变成“大众消费”
  • 香港消费者委员会:数码相机最贵未必最好
  • 外电称中兴正评估西门子手机业务 或能并购
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 老板电话
    冲动的惩罚 七里香
    我不是黄蓉 女生撒娇
    盛夏的果实 坚持到底
    孤单北半球 眉飞色舞
    挪威的森林 可爱女人
    最浪漫的事 老板电话

    CSEEK搜索