荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Minatl (Minatl), 信区: Program
标  题: DELPHI3.0中的程序包
发信站: BBS 荔园晨风站 (Wed Jan 20 18:57:22 1999), 转信



[一九九七年十月十三日 总第679期] 第145版



DELPHI3.0中的程序包


  BORLAND公司推出使用的OBJECTPASCAL编程语言的DEL
PHI1.0,以其优良、稳定的性能,强大的数据库支持,
易于使用的编程界面赢得广泛的支持和好评,迅速成为软
件开发人员手中不可多得的RAD软件开发工具。需要DELPHI
编译生成的执行代码有执行速度快、运行稳定的特点。但
由于在编译执行代码时,一些运行库的代码也编译到执行
文件中,所以编译出来的执行文件显得过大,一般的都有
几百KB大小,大的甚至达几兆,不但占用了硬盘空间,而
且在运行时占用系统资源,也不利于在INTERNET上的软件
发布和执行。而随着今年五月DELPHI3.0的推出,BORLAN
D公司在DELPHI中引入了先进的程序包(PACKAGE)技术,
使上述问题得到较好的解决。

   程序包(PACKAGE)是什么?

  程序包其实是DELPHI应用程序和DELPHI编程环境所使
用的特定的动态连接库。在编译执行文件时,可以象程序
包中的VBRUNXXX.DLL一样,在分发程序时独立交付,因
此使用程序技术编译的执行代码具有传统编译方式所没有
的几个优点:编译可执行文件时的速度明显加快,因只有
程序在运行过程中各个应用程序能共享程序包中的代码,
减少系统资源的占用。

  在DELPHI3.0中有运行时程序包(runtimepackage)
和设计时程序包(designpackage)两种。运行时程序包
是分发程序时随程序一同交付的独立运行库。设计时程序
包其实是DELPHI3.0中的控件,因随着DELPHI3.0中程序
包技术的使用,DELPHI中所使用的控件(包括可视控件和
不可视控件)已采用先进的程序包技术进行了重新设计。
另外是否使用程序包技术进行可执行文件的编译是可选的


   DELPHI3.0编程环境针对程序包技术进行改进

  为使用程序包技术,DELPHI编程环境作了相应的改
进。

  在项目环境设置中,如图1所示,添加了程序包选项
。在“PACKAGES”页中,分“DesignPackages”和“Runti
mePackages”两部分。在“DesignPackages”部分,
可以添加、移去程序包,并且可以查看程序包中包含有哪
些可供使用的控件。在“RuntimePackages”的部分,可
以选定程序是否使用运行时程序包进行可执行文件的编译
,并且可以指定编译时使用哪些程序包。

  在控制管理部分,添加了安装程序包(installpacka
ges)功能。它能实现的功能与项目环境设置中的程序包
选项一样。

  在新建向导部分,增加了新建程序包选项。要新建程
序包,在DELPHI3.0开发环境中,选择“FILE NEW”菜
单,选中PACKAGE图标,然后单击“OK”按钮。出现“NewP
ackage”对话框,键入Package的名称和描述,单击“OK
”。出现如图1所示的程序包编辑器。通过程序包编辑器能
够把现存的或自己编写的程序单元(UNITS)、VCL控件、
ACTIVEX控件加入到新的程序包中,然后根据需要把程序
包编译成运行时程序包或设计时程序包。

   在DELPHI编程环境中使用程序包

  通过在项目环境中可设定程序包的使用。

  如图2项目选项的程序包选项所示,在“Designpacka
ge”部分,按“Add”按钮,会弹出一个文件对话框,选
其中的Package文件,就可以把选定的程序包添加到“Desi
gnPackages”的列表框中,相应地,工具栏上就会出现程
序包中包含的控件,供项目使用:按“Remove”按钮,会
弹一个信息框,问你是否确定移去程序包,单击YES,程
序包就会从列表框中移去,而工具栏中是属于这一程序包
的控件就会消失。根据需要调整程序包的数量,就能在不
同的项目中使用设计时程序包。选择程序包列表的其中一
项,并单击“Companents”按钮,就可以看到定程序包中
包含有哪些控件。

  在“Runtimepackage”部分,选中“Buildwithrunti
mepackages”复选择,项目在编译可执在编辑框中列出的
程序包名称是DELPHI项目默认的编译时使用的程序包。如
果要使用其他程序包,可以通过单击“Add”按钮添加。
在分发使用程序包技术编译的应用程序时,必须一同交付
必要的程序包文件。并且程序包文件必须放在与执行文件
相同的目录中或放到“WINDOWSιSYSTEM”目录中。如果没
有相应可用的程序包在要求的目录中,运行文件时会出现
一个提示信息,说明没有必须的程序包文件。另外,程序
包文件的版本必须与开发时使用的程序包相同或兼容。

   使用程序包技术编译与正常编译的执行文件的对比


  ·执行文件大小对比:

  以DELPHI3.0中所带的TEECHAR例程为例,在这个例
程中,包含有38个表单,1个程序单元,而且表单中的控件
以图形空间为多。当用正常方式编译执行文件时,执行文
件的大小为0.97MB,而用程序包方式进行执行文件的编
译,则所得的执行文件的大小为300KB。执行文件的大小足
足减少了0.67MB,可见程序包所发挥的作用之大。

  ·文件分发时所包括的内容的对比:

  以正常方式编译的执行文件,在分发应用程序时,只
要相应的执行文件和数据文件即可。而用程序包方式编译
的执行文件在分发应用程序时,还要带上在执行文件中调
用的程序包文件。再以TEECHAR例程为例,用正常方式编
译执行文件,分发应用时,只需要交付TEECHAR.EXE文件
就可以。用程序包方式编译文件,在分发应用时,除执行
文件外,还要交付相应的程序包文件:VCLDB30.DPL、VCL
30.DPL、VCLSMP30.DPL、VCXL30.DPL、TEE30.DPL、T
EDB30.DPL、TEEUI30.DPL、QRPT30.DPL。其中,正常
情况下硬盘空间大小为970KB,而以程序包方式编译的执行
文件在分发时要求的硬盘空间大小为3370KB。



--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.240]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店