我的程序大部会主要是用API写的,几有没到VCL,但是编译出来程序还是很大,我已经把在USES里去掉了很多库文件,但还是比较大,有哪些方法可以全面地设置,让DELPHI编程出的程序更小,我看到别人用纯API写的程序编译出来是很小的,为什么我的就这么大呢,

解决方案 »

  1.   

    你是否引用了Dialogs单元?如果要求编译出来的EXE最小,需要重写System.pas,SysInit.pas两个内核单元,去掉一些多于的代码,据说编译出来最小的HelloWorld程序只有3k左右。
      

  2.   

    如果用纯api写还不如用masm直接,比delphi小很多
      

  3.   

    创意、自由、灵活,超强的报表功能,  
    独特的双数据源连接,全功能的表格组件!  
     
    http://www.anylib.com
      

  4.   

    这个问题讨论过很多次了
    EXE体积真的这么重要?
    除非你是...呵呵~
      

  5.   

    如果楼主主要用API的话可以试试用KOL,写出来的程序很小,建立一个空的Form才25K左右,但VCL的控件就用不了了,KOL本身带了一些基本控件,他的网站上还有一些,个人感觉很不错。
    推荐把主要代码写在DLL中,然后用KOL写的窗体来调用DLL,这样比较简单,因为用KOL还有点不适应
      

  6.   

    大部分是API写的,还引用了这些类  registry ,inifiles idhttp 这些单元 能把体积控制到保种程度
      

  7.   

    用了IDHTTP还说没用VCL?
    INDY的基类都编译进去了。
      

  8.   

    如果自己写IDHTTP也太麻烦了吧
      

  9.   

    除了WIndows单元其它什么也别用,就只有10几K
      

  10.   

    //你可以试着编译这个工程文件,剩下的全部用API写,最多也就几十K。
    program Project1;uses
      Windows;//{$R *.res}begin
    MessageBox(0, '好的程序:)。', '提示', MB_OK + MB_ICONSTOP + MB_TOPMOST);end.
      

  11.   

    delphi源代码分析
    里面分析了miniexe,你可以参考一下.
      

  12.   

    是的,不能引用任何VCL控件,只要加进一个,程序立马变几百K。
      

  13.   

    你采用BPL的编译方式也可以达到非常小的可执行文件。
    《VCL源代码分析》一书介绍了详细的方法让你的程序变得最小。
      

  14.   

    idhttp这个东东,加进去,EXE绝对小不下去地呵呵
      

  15.   

    大点有什么不好吗,不需要一堆的DLL,你又不做病毒.VC的静态编译出来的EXE,也不小!
      

  16.   

    准确地说,VC++编译的程序,如果静态连接(不使用msvcrt.dll),而且使用了MFC(不使用mfcxx.dll等),比Delphi生成的同样功能的程序大了不是一点半点。
      

  17.   

    //你可以试着编译这个工程文件,剩下的全部用API写,最多也就几十K。
    program Project1;uses
      Windows;//{$R *.res}begin
    MessageBox(0, '好的程序:)。', '提示', MB_OK + MB_ICONSTOP + MB_TOPMOST);end.
    /////////////////////////////////////////////我很久以前就用这种写法调用DLL 主程序 只有11.5K还是觉得很大 Windows单元比较大 能不能不用引用任何单元就能调用DLL的
      

  18.   

    看看Aimingoo前辈的那本书吧 <DELPHI源代码分析>