5,928
社区成员




主程序+多个DLL,想带包编译,把第三方控件或这是涉及到的控件bpl打包成一个bpl,方便维护和减小程序文件大小,尝试了几种打包方法,打包出来的bpl文件引用时都有问题,不知道各位可有好的方法,分享一下。Tangram Plugin FrameWork也试过,打包出来的文件还不到1MB,也无法正常使用啊。
不建议用bpl方式,虽然理论上可行(实际上也应该能做到),而且“所有控件打包成一个bpl”其实也没什么意义。
“方便维护和减小程序文件大小”比较有效的方法是把各功能做成单独的模块(例如DLL,当然还有其他方面也是需要考虑的。)
RTLxxx、VCLxxx、FMXxxx...(xxx是版本号)这些自带的包是不能被打包到一起的(理论上除了RTL都可以的,但实际做起来很繁琐,重编译系统包是不推荐的),建立、修改用户包是很容易的,只需要把用到的单元都添加到包里,实际就是写在包源文件的contains部分,但是包内单元引用的其他单元也必须在包里(不要求在同一个包),包之间可能存在以来关系,另外,如果单元中有{$DENYPACKAGEUNIT ON}编译器指令,这个单元也不会编译到包里(只能静态链接)。