DELPHI包(bpl) 〔转〕

本文介绍了DELPHI包作为代码组织和分发方法的应用。它不仅有助于减少可执行文件的大小,还能通过动态链接实现代码的高效利用。此外,文章还区分了设计时包和运行时包,并解释了它们各自的作用。
DELPHI包(bpl) 标签: delphi bpl 2008-11-13 17:19 DELPHI包可以用做一种构件分发方法,用来分发将要被安装在环境中的构件。 程序员也可以将DELPHI包用做一种代码结构设计方法,进而以一种动态方式组织代码;与程序员使用普通DLL时不同,这种动态方式仍然保留DELPHI OOP的全部能力。请考虑这样一种情形:一个包是一些已编译单元的集合,并且一个程序使用几个单元。这个程序所引用的单元将被编译到可执行文件内,而BPL是根据需要才动态链接的。程序员可以在静态与动态链接之间轻松的切换是使用包的主要原因之一。 要想开发一个应用程序以便它的代码被分解成一个或多个包和一个主可执行文件,程序员只需要将一些单元编译在一个包中,然后设置主程序的选项来动态地链接这个包 为了能够轻松地部署应用程序和它所使用的各个包,将这些已编译过的包放置在应用程序文件夹中可能会更方便一些。 使用运行时包使可执行文件小得多。 一个应用程序的可执行文件的大小加上所需包的大小始终比静态链接程序的大小大很多。链接器只包含程序所使用的代码,而一个包必须将它所包含的所有单元的INTERFACE部分中所声明的所有函数和类都链入。 如果运行多个基于相同包的DELPHI应用程序,则可以在运行时节省一些内存空间;那些运行时包的代码在多个DELPHI应用程序当中只被装载到内存中一次。 一个包就是一些编译单元的一个集合,这些单元与程序内的单元没有任何不同。惟一的不同之处在于创建过程。这些包单元的代码和使用它们的主程序的各个单元的代码保持一致。可论证的是,这是BPL包胜过DLL的关键优势之一。 包呈现两种形式:由DELPHI IDE使用的设计时包,以及由应用程序任选地使用的运行时包。当试图安装一个包时,IDE检查它含有纯设计时标志还是纯运行时标志,并决定是否允许用户安装该包,以及它是否应该被添加到运行时包列表上。由于存在两种非排斥的选择,所以它们也可以被组合起来。 纯设计时构件包(在源代码中含有{$DESIGNONLY}指令)能被安装在DELPHI环境中。 纯运行时构件包(在源代码中含有{RUNOLNY}指令)由DELPHI应用程序在运行时使用。它们不能被安装在DELPHI环境中,但是当一个已安装的设计时包需要它们时,它们被自动添加到运行时包列表上。运行时包之所以重要,是因为它们能够随同应用程序一起被自由地分发。但是其它DELPHI程序员将无法把它们安装在环境中来创建新的包。 设计时与运行时包(在源代码中不含有{$DESIGNONLY} and {RUNOLNY}指令)能被安装和自动添加到运行时包列表上。 Delphi Package 學習筆記(含討論信件精華) http://sun.cis.scu.edu.tw/~nms9115/articles/delphi/Package/package.htm Delphi Package 無痛使用 http://sun.cis.scu.edu.tw/~nms9115/articles/delphi/Package2/package2.htm DLL and Package ----決擇 http://delphi.ktop.com.tw/board.php?cid=30&fid=66&tid=21865 另外, Delphi 附的書(or PDF)中有一章節有說明, Mastering Delphi (5,6,7 ...)系列也有說明 印象中 李維有一本書也有說明, 但忘記是那本了 ...
汉化说明 与许多初学者一样,我在开始学习Delphi时,面对全英文的界面,很是不习惯。在Delphi5.0时就开始对Delphi进行汉化。但效果并不明显,也就没好意思拿出来。但心中总是感到有些遗憾,为什么Delphi这样好的编辑工具,始终不推出简体中文版呢? 一直等到Delphi7.0时,Smallfish终于等不住了,为了Delphi在华夏大地上的传播与推广,SmallFish决定自己动手,汉化出真正属于中国人的简体中文Delphi程序开发工具。 SmallFish通过几个星期的艰苦奋战,在Delphi7.06的英文版的基础上,终于推出了现今汉化最好的Delphi7.0简体中文版。 Delphi7资源汉化的源文件 其中SmallFish汉化的部分是*.bpl、*.exe及其它文件,而Lib中的文件及Source文件夹中的文件是LiWD完成的,我也加到了我的文件夹中,在此表示感谢!为了表示对他劳动的尊重,将他汉化时的文字在后面附加了。 下面,向大家介绍一下使用方法,首先关闭Delphi7.0的运行,打Winsystem文件夹下的所有文件,覆盖到系统目录下(如C:WindowsSystem);然后,将Bin、Lib文件夹下的所有文件覆盖到Delphi安装目录的Bin中。至于Source文件,可以覆盖到相应文件夹中,也可以不做任何操作。 为了减少大家的开支,我将文件的大小尽可能缩小,也不得已使用可执行程序压缩工具对.Exe文件、.Bpl文件进行压缩。但还是很大,请大家原谅。如果想修改,可以以下面的邮件地址向我索取没有压缩的文件,我会抽时间发给你们。 最后,要说明的是,汉化到现在,发现要推出完全汉化的Delphi,以我的精力和能力来说,还要等一定时间。因为需要汉化的资源太多,以典型安装为例,可能需要汉化的文件多达200个左右,而且是都是DELPHI程序,无法借助字典批量翻译,工作量实在巨大。同时随汉化的深入,发现许多要翻译的字符没有把握准确译出,恐怕翻译后让大家更糊涂,加上马一就要毕业答辨,我只好暂时把汉化工作停一下,只是将手头现有的部分拿出来与大家共享,因水平有限,翻译错误在所难免,请不吝指教!以便我日后推出汉化Delphi时,做最后的修正。 我汉化Delphi不是为了出名。没有任何商业目的,不希望出现Delphi简体中文版应用于商业的现象发生,但为了表明大家对我的工作尊重,也不要修改我在可执行文件版本信息中加的一行字-汉化:SmallFish。如果向朋友推广,也不要把我编写的汉化说明删除,我只是想通过这样的一个难得机会,结识更多像我一样酷爱Delphi的网友。 如果你有什么好的建议,请给我发电子邮件电子邮件地址SmallFish@0335.net或LiYuguo@0335.net,我尽量抽时间回答网友的提问。不要向我要Oicq或其它联系方式,恕我不公开。常见问题: 1.为什么汉化Delphi7.0在运行时菜单没有快捷键但按下Alt键后,就有了。能不能改进一下? 答:这是Delphi7.0本身的原因,并不是我汉化资源文件有误,不信你将Delphi原文件覆盖回去试试,一样存在此问题。 2.为什么编译信息一部分是英文,另一部分是中文? 答:这是因为我汉化不完全造成的。 3.什么时候会推出Delphi7.0的其它汉化资源? 答:时间不会太长,只要大家支持。 4.如果我向你的信箱中发送其它控件的汉化请求,能不能帮我完成? 答:如果时间允许,控件好用,我会满足您的要求,但有一个条件,留下您的联系方式,交一个朋友。:)附:网友LiWD原文汉化说明 这是Delphi7的一些资源文件的汉化,是我从Delphi6改编的,由于英文水平有限,错误在所难免,并且有些单元没有汉化,如果你修改或汉化了其他单元,别忘了给我一份! 用Delphi7 打开 Project1.dpr, 进行编译,即可得到相应的dcu文件! 上传:李岚文 QQ:270181856 E_-mail:llw.lz@126.com 曾上传作品:柯龙进销存 希望能给初学Delphi 7的朋友带来帮助 ^_^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值