目前系统是用组件化管理的,但是领导又说了,组件化管理下,需要继续缩小组件的体积,方便用户升级,呵呵,我就难倒了,怎么才能让组件变小呢,我用的是dll作为组件的实现形式,,但是组件中都要用到窗体,编译后最小的也是358K,压缩后也是100多K,这还是没有用控件和只有一个窗体的前提下的组件的大小。怎么样才能缩小组件的体积呢?或者有别的方法可以实现系统组件化管理的模式吗?

解决方案 »

  1.   

    to ysai(蓝色忧郁) 具体谈谈吧
    包能够缩小到什么样的程度,在系统能否有易操作性,比如包作成组件,组件该怎么被主程序调用,目前需要升级的是组件,不是别的,组件是关系系统的最大的东东
      

  2.   

    有一个软件可以压缩exe程序,效果还是不错的,叫ASPACK,楼主查查看
      

  3.   

    不行的,我想既然delphi有了包的概念,你们还是用包的方式来介绍该怎么提供解决方案。
      

  4.   

    你用压缩的壳压缩一下。主要是你的DLL里面包括了窗体等其它资源.压缩到100K左右也差不多.ASPack的压缩率已经很高了。
      

  5.   

    目前用包和DLL都是为了研究怎么样把组件化系统做好,希望大家,不要保留有可以借鉴的尽管说出来,也是一次交流的机会嘛。
    在此之前我已经做了4年的三层体系下的组件化管理的系统,一直觉得组件化用DLL蛮好的,主要是当时的系统的在线升级是在20K以上的专线上进行的,目前要把在线升级系统做到Internet上,很麻烦,为了能够顺利的完成在线升级,目前主要的还是要把组件做好。还有一种想法是做增量升级操作,呵呵,不知道该怎么做,系统有了Bug该在增量升级包中怎么做呢?这也是一个问题。前大家,畅所欲言!
      

  6.   

    该怎麽做!
    我想到了一个方法,就是DLL,pakage,ASPack一起做,怎么样,应该压缩的可以了吧
      

  7.   

    包实质上就是一种特殊的DLL文件,也具有DLL的一切性质。它可以减少你程序中VCL组件的大小,一般软件的主程序不过超过1M的,但当你采用的VCL组件越多,所需要的BPL文件也就越多,但是这些包文件中不是每个组件都会在你程序中出现的,因为这些包文件是按不同组件分类存放的,这样就会得不尝失了,反而增大的系统负担。当你的项目中有多个可执行类文件,且他们也都是用Delphi/BCB开发的话,利用包文件就会节省磁盘空间。
    你也可以把用到的资源放到外部文件里,不要放在程序文件中,也会减少不少的空间,楼上的朋友说的可执行文件压缩软件也不错,它不会减少程序的执行效率的,你可以放心使用。
      

  8.   

    呵呵,目前的人总是喜欢长话连篇的,能否来些实际性的方案,文字大家看到的都是很熟悉的,这里没有空洞,只有事实。
    目前的问题本人都解决了,只是差的就是如何做增量升级,关于pakage和Dll的问题本人认为只是delphi是否熟练应用的问题,关于增量升级呵呵,是不是学术问题呀!
      

  9.   

    这个话题难道又是没有什么感觉的结束了吗?我郁闷呀。csdn上要有多少这样的帖子呀
      

  10.   

    你说的增量升级似乎好像没有人做过,系统有了Bug,如:Windows,是通过更新替换出现Bug的模块来更新的,更新最小的单位是文件,就是把整个文件覆盖;
    应该是这样的吧~