讨论: 如何在 delphi7 + devExpress bar 6 制作的: ribbon 风格程序,体积小一些?

polly_110 2011-04-07 12:13:43
很喜欢 ribbon 风格的程序, 照着网上的方法,制做了一个简单的程序, 可是,发现程序体积增长得太快了..

四个窗体,一个DM.窗体里没有放太多的控件,编译后,体积居然有 5M 了. 如果不用 ribbon 风格, 体积估计只在1--2M的样子.

并且,随着窗体的不断增加,程序的体积也直线上升,如果程序里有三五十个窗体,估计程序的体积会达到二三十M的样子,这太恐怖了. 正常情况下: 程序的体积只会有三五M的..

想在此跟大家讨论一下,如何减小程序的体积? 发过一个贴子问过想同的问题:
http://topic.csdn.net/u/20110221/00/76dac9d6-9f72-40ac-9d8f-1f6c98424393.html
得到的答案,基本上是: 去掉不必要的引用单元, 用 asp 之类的工具压缩.

经测试,在主窗体的单元引用里,去掉了所有皮肤相关的引用. 但还是会有类似下面的引用单元(它们都是自动引用的).
DB, ADODB, UErrUpdate, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, dxBar, cxPC, dxStatusBar, dxRibbonStatusBar,
cxClasses, dxRibbon;
以DX, CX 开头的单元,手工删除了,还是会自动添加进来.

针对这个问题, 首先想到的,肯定是这套控件的资源文件太大了, 并且在编译时,重复添加得很严重.. 比如: 窗体上,有三个按钮, 每个按钮都有相同的资源.而实际上,这个相同的资源,应该只需存在着一份,就可以了.
并且,如果能想办法,把这些需要的资源,想办法放到一个动态库里去, 这样, 主程序的体积就会减少很多.(曾经有个程序,体积有十几M,把所有的资源图片放到动态库里去后,程序的体积就只有二M 多了)

可是: 怎样把这些资源想办法从控件里,搞到动态库里去,并且能正常调用呢? 因为,控件引用的资源,并不清楚.

另外, 这套ribbon 的程序,只需换个皮肤文件,整个程序,就会呈示不同的风格, 这个皮肤文件,居然不到一M..
...全文
488 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
biganchor 2012-10-20
  • 打赏
  • 举报
回复
编译之后用upx压缩一下不就行了
polly_110 2011-04-10
  • 打赏
  • 举报
回复
想请问一下, 我现在用 business skin form 控件, 所有的关于皮肤,界面的设置,都放在了主窗体上, 现在主窗体已设置好了.

当做弹出式窗体时, 怎样让弹出来的窗体,也和主窗体一样,有相同的皮肤风格?
bdmh 2011-04-07
  • 打赏
  • 举报
回复
dev非常占资源,曾经有过一个帖子是,为其减肥的,找找看
luxuewei5214 2011-04-07
  • 打赏
  • 举报
回复
控件包的皮肤是bpl文件,可以研究一下动态加载皮肤;
另外就是换控件包,business skin form和tms控件包都可以实现ribbon效果,而且编译完的程序很小
polly_110 2011-04-07
  • 打赏
  • 举报
回复
不能换控件啊, 要的就是它的效果..

to: bdhm

你说的贴子是: http://topic.csdn.net/u/20100325/12/903B3ABC-6462-4299-882E-0F265DE87C56.html

这里面的方法吧? 这个方法,也就是如何去掉引用单元. 我已用了..


现在能想到的,就是其它的方法了, 能否帮我分析一下, 哪种方法好一些?

方法一: 使用 dev 控件时,带包编译, 发布时, 连包一并发布.

方法二: 把窗体 封装到 包, 或是动态库里, 这样,主程序体积也就变小了..

上述两种方法,该如何取舍,以及如何实现呢? 一直没有这样开发过.
alsamsung 2011-04-07
  • 打赏
  • 举报
回复
换个控件
polly_110 2011-04-07
  • 打赏
  • 举报
回复
楼上的意思是: 程序体积之所以这么大,与 是否为 ribbon 风格无关, 而是因为 dev 控件的原因, 使用 dev 控件, 就很容易导致程序体积增大?

5,388

社区成员

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

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