合并BPL包图文教程
Delphi IDE 本身就是一个插件模式的工具,插件的好处不用多说。运行包的BPL,其实就是众多单元的集合,因此可以再次重新组合,只要你将各个BPL包用到的单元再组合一次!
本文以 http://code.google.com/p/tangram-plugin-framework/ 插件框架自带的BPL包合并向导工具做一次图文介绍!
1、安装好开源插件框架 tangram-plugin后,然后点击 菜单 File->New->Others,找到tangram FrameWork里的包合并向导,
2、Dev控件堪称独孤求败,最强也是最肥的数据库解决方案。我们以Dev套件包为准,合并Dev几十个BPL包为一个BPL包。
这里用到dev功能是cxGirid,treelist和垂直表格,如果用到其他的功能,涉及的BPL会有所不同!
选择单元
3、生成DPK工程,改名为Dev.BPL,记得保存。DPK文件如果没有生成,请先带一个空白工程,然后再用向导生成DPK,即重复上面的步骤。生成DPK后,再移除原来的DPR工程。
4、有可能碰到重复的单元,已经在别的包被引用了,我们的原则是,只封装Dev的单元。
(Dev的单元名好区分,都是以cx或dx打头。)比如sysInit,在 contains 按 CTRL+Y删除即可。
5、编译会提示,我们新的Dev包,引用到其他单元,在不同的BPL里。选择View details可以查看引用到详细单元。
按“OK”按钮,将引用到的其他包名(BPL),记录在 Dev.DPK里的require 区域。
6、输出BPL和DCP目录,最好是当前目录下,否则又要去delphi的DCP和BPL目录查找,太麻烦。这两个目录输入“点”字符:“.”,表示当前路径。
7、按Build 编译,生成Dev.BPL和Dev.DCP在当前路径下。新的Dev.BPL为 9M左右,比杨玉环还肥。
8、我们用ASPACK给BPL减肥一下,大概可以压缩到只有53%大小,只有4M多,减肥效果明显。
9、我们做一个简单的例子,将新的BPL和DCP放在EXE当前目录下。配置工程选项,选择Packages,在Build with runtime packages里输入
vcl;rtl;dev。这里必须要说一下 vcl;rtl 这两个包是delphi的核心运行包,尤其是基于DLL插件的框架,如果带包编译,必须少不了这2个包。引用vcl;rtl 这2个包,避免了很多DLL的麻烦和痛苦,如焦点切换,application共享等问题。
运行后,程序正确。新的EXE只有700K不到,经过ASPACK压缩后,只有200多K。
点评:BPL合并方式,简化了发布程序带来的痛苦,可以将系统的BPL和第三方的BPL各自合并。新的BPL并不影响原来的BPL或者第三方控件的开发环境,这只是运行包而已,在发布的时候带上即可。任何绿色插件程序文件,一般都会放在当前目录,尽量避免丢到syste32目录,这是微软windows的一个操作恶习,将系统目录当成垃圾桶。delphi的插件模式简单而透明,不会依赖系统,相反,.Net 4.0自带的发布版FrameWork,40多M,安装后目录上百兆,而且狂写系统注册表。.Net框架不会给你绿色试用,这已经违背了绿色软件的原则。注册表臃肿的后果,windows会越来越慢。
相信原生程序和托管程序之争会一直延续下去。.net似乎已经没有搞头,只有不停在语法上折腾,而折腾的后果,导致程序兼容性不够好(兼容性比JDK差多了)。如果你的操作系统自带了众多.Net 版本呢:1.0/1.1/2.0/3.0/3.5/4.0........XXX.0,每个.Net版本还有小版本号,诸如SP1,SP2,SP3等,请不要奇怪。未来的windows8/windows9/WIN X。。。。,Net框架加上加上几万种的驱动程序,windows上百G安装大小并不奇怪。.Net发布复杂性还在于捆绑在操作系统上,有些特殊功能必须在windows上配置,而且需要管理员的权限。
简单而简洁,这是一切应用程序的基本要求。微软,请不要将.net 演变成 COM/COM+,请给我们一个简单而简洁,高效又安全的操作系统环境!
合并BPL包图文教程相关推荐
- java poi jar maven_导出maven项目依赖的jar包(图文教程)
注意使用mvn命令是需要配置好maven的环境变量 一.导出到自定义目录中 在maven项目下创建lib文件夹,输入以下命令: mvn dependency:copy-dependencies -Do ...
- Fiddler系列教程2:手机抓包图文教程
上篇Fiddler教程,我们教了大家Fiddler安装配置及如何使用Fiddler进行基本的Http抓包及模拟请求,今天给大家介绍下如何使用Fiddler进行手机抓包. 运行环境为Windows 10 ...
- 如何合并音频文件图文教程
有些小伙伴在学校社团或者公司年会等等的场合都会需要表演节目,而唱歌跳舞时需要的音乐很多都是需要进行合并处理,这时候我们就可以使用迅捷音频转换器帮我们完成这一操作. 一.打开迅捷音频转换器 我们可以先在 ...
- Fiddler对安卓应用手机抓包图文教程
http://www.cr173.com/html/37625_1.html 做开发需要抓取手机app的http/https的数据包,想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得 ...
- 黄聪:Fiddler对安卓应用手机抓包图文教程
做开发需要抓取手机app的http/https的数据包,想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些"坏事"... 需要 ...
- kitti数据集转换bag包——图文教程
前言:在做实验言过程中遇到了想要使用kitti数据集,而我想要的输入数据为bag包文件,故而需要将kitti数据集转化为rosbag包,经过查找相关资料终于实现,现分享出来yon供大家一起交流使用,如 ...
- 微软System Center Operations Manager 2012(SCOM )安装图文教程
Microsoft System center Operations Manager (SCOM) 2012 是微软推出的专业系统监控软件,可以监控部署在网络中的服务器.应用系统和客户端,提供图形化视 ...
- Delphi BPL包合并图文教程 IDEWiz tangram-plugin-framework
Delphi BPL包合并图文教程 Framework IDEWiz tangram-plugin-framework elphi IDE 本身就是一个插件模式的工具,插件的好处不用多说.运行包的B ...
- 计算机网络丢包排查,ping命令图文教程,电脑测试网络丢包延迟,检测网络故障通不通...
原标题:ping命令图文教程,电脑测试网络丢包延迟,检测网络故障通不通 你好,我是老盖,首先感谢你观看本文,本篇文章我做的有视频,视频讲述的比较详细,也可以看我发布的视频. 这里演示一下ping的命令 ...
最新文章
- Vscode 过滤.pyc文件
- 浅谈Java中的final关键字
- linux 查询 lib信息,linux系统信息常用查询命令
- 一起谈.NET技术,Visual Studio对程序集签名时一个很不好用的地方
- 计算机网络学习(七)—集线器与交换机
- CSS3+JavaScript效果:胶卷式放映
- html table td 居中显示,table td怎么垂直居中显示 详解table中如何隐藏td?
- 专为球迷准备的免费邮箱
- 表单二维码怎么做?二维码怎么统计信息?
- 目标跟踪之LTMU:High-Performance Long-Term Tracking with Meta-Updater环境配置及代码运行
- 如何理解面向对象思维?
- “丧心病狂”的C语言小程序,拿去恶搞好友
- Vue入门到上手(10)—— VueJs 填坑日记之在项目中使用Amaze UI
- 陆金所java_陆金所金融核心场景数据库的去 O 之路
- 华为开发者大赛:赢的不仅仅是百万元奖金
- 重庆科技学院计算机二级证书在哪拿,重庆计算机二级证书丢了怎么办
- 众昂矿业架构师刘金海:萤石助力氟聚合物全产业链共振
- 产品经理需不需要懂技术
- 员工电脑监控软件都有哪些功能?是否违法?
- 多个服务器数据互通_2020年4月7日部分服务器数据互通公告