Delphi XE7 带包编译,所有控件打包成一个bpl的方法

yct0605 2022-05-09 09:44:20

主程序+多个DLL,想带包编译,把第三方控件或这是涉及到的控件bpl打包成一个bpl,方便维护和减小程序文件大小,尝试了几种打包方法,打包出来的bpl文件引用时都有问题,不知道各位可有好的方法,分享一下。Tangram Plugin FrameWork也试过,打包出来的文件还不到1MB,也无法正常使用啊。

...全文
323 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanqth 2022-05-09
  • 打赏
  • 举报
回复

不建议用bpl方式,虽然理论上可行(实际上也应该能做到),而且“所有控件打包成一个bpl”其实也没什么意义。
“方便维护和减小程序文件大小”比较有效的方法是把各功能做成单独的模块(例如DLL,当然还有其他方面也是需要考虑的。)

yct0605 2022-05-12
  • 举报
回复
@tanqth 主要是框架已经写死了,单独测试是可以的,单独模块的DLL都上百了,主要是文件编译压缩后还是很大
tanqth 2022-05-12
  • 举报
回复
@yct0605 检查一下是否是其中某个控件的引起的,你单独测试是否也是把需要用到的所有控件都进行了打包测试呢。
  • 打赏
  • 举报
回复 1

RTLxxx、VCLxxx、FMXxxx...(xxx是版本号)这些自带的包是不能被打包到一起的(理论上除了RTL都可以的,但实际做起来很繁琐,重编译系统包是不推荐的),建立、修改用户包是很容易的,只需要把用到的单元都添加到包里,实际就是写在包源文件的contains部分,但是包内单元引用的其他单元也必须在包里(不要求在同一个包),包之间可能存在以来关系,另外,如果单元中有{$DENYPACKAGEUNIT ON}编译器指令,这个单元也不会编译到包里(只能静态链接)。

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧