比如我先放了一个控件,后来我又不要这个控件了,这时这个控件的引用单元并不会随着我删除这个控件而删除,有什么办法能查出当前单元多余的引用单元吗???

解决方案 »

  1.   

    使用cnpack的组件包有这个功能
      

  2.   

    我不想用cnpack,有无其他代码实现的方法...
      

  3.   

    去掉一些引用后编译一下试试, 能正常编译就说明这些引用是多余的。BTW, 不使用的代码是不会编译到最终的执行文件里的,所以即使存在着多余的引用也不会影响编译的结果。
      

  4.   

    引用其实无所谓,Uses里面的pas也不是全部编译到EXE里面去了,去掉引用的话,可以单独使用这个控件,看uses里面新增了什么单元,一般这些单元就是可以删掉的
      

  5.   

    看看Cnpack对IDE的扩展,其中有这个功能
      

  6.   

    即然cnpack,楼主可以参孝一下啊,感觉楼主对CnPack有偏见,CnPack还是非常不错的.
      

  7.   

       好象不是这样吧,去掉多余单位后exe文件会变小
      

  8.   

    把非窗体自己生成的单元删除掉,Ctrl+F9一下,应该用到的单元会再自动加上来的
      

  9.   

    有些多余的引用像classes是很占空间的,很有必要将其去掉。一般用手工去吧,怀疑谁多余就去掉再编译。用程序判断难(需要一张庞大的对照表,非常麻烦)
      

  10.   

    1、的确,exe文件会变小,要不然我也不会问这个问题了。
    2、如果一个一个去试,那我还不如不去掉呢!体积小一点的代价是花费这么多的时间哈。
    3、不是对cnpack有偏见,是用不习惯。
      

  11.   

    用不习惯就习惯它,CNPACK功能很强大的。它就是调用IDE的可编程接口来帮你清理单元的(不过我发现有时好像清理得不对...)此外可以明确告诉楼主,没有捷径,要么就是删了一堆单元然后让编译器给你加上,不过这只限于控件引用到的单元,象Classes、SysUtils这些,你删了就要自己重新添加了。
      

  12.   

    cnpack还是不错的。
    如果不用,除非你对所有引用的单元都熟悉,
    不然只能删除所有引用的单元后在编译,提示缺少什么单元就加入什么单元。
      

  13.   

    cnpack还是不错的。
    如果不用,除非你对所有引用的单元都熟悉,
    不然只能删除所有引用的单元后在编译,提示缺少什么单元就加入什么单元。
      

  14.   


     通常是這樣的,根DELPHI版本的不同會有不同,一般就是前幾個,好像6,7個單元都是自帶的,可以將後面的全部刪除,再CTRL+F9,讓他一次再增加上必須帶的。