我的project编译总行数为419658,可生成的EXE文件有21M(是不是太大了吧)
问题是当我的可执行EXE大小在20M以后说不能在win98下运行,提示内存不够(机器是P4+256M内存+400M的分页檔)
退出EXE文件时又报:
Access violation at address 74DD29AC.Read of address 74DD29AC.
请帮帮。

解决方案 »

  1.   

    程序中用到的图,动态加载,减少exe大小
    退出时报错,检查你的程序
      

  2.   

    project的options中linker页上的include td32 debug info 是否选中,如选中,去掉后就会小很多
      

  3.   

    采用分包的方式将你的应用程序分为若干块,小块可以是BPL,也可以是DLL, 详细的分包方法,请参考软件工程。
      

  4.   

    我想,如果不是程序用到了大量的图的话,应该不可能这么大。
    同意 siyu2002(★猛犸★) ,采用动态加载。
    另外,程序是否在启动的时候就create了所有的form?建议在调用窗口的时候再create,关闭的时候release.
      

  5.   

    动态加载
    估计你用的bmp太多了
      

  6.   

    我们开发的是一个ERP﹔图片加载是用一个函数从硬件上加载的!
    DLL没有用到。程序开启时只是加载一个主窗口。
      

  7.   

    include td32 debug info 
    也是没有选中的!
      

  8.   

    why no man to see it?
      

  9.   

    高手:BCB Delphi 两边多来
      

  10.   

    TO:
    bigwhiteshark(大白鲨)
    只能說兩邊路跑路吧!
      

  11.   

    在delphi 环境下运行你的程序,
    然后在delphi->project->information for xxxx 里面看看是哪一部分这么大。
    如果是资源部分大,你就该考虑动态加载了,不然你想想cs 把全部资源都包含了那不得400M了。
      

  12.   

    编译程序时用BUILD PROJECT,不要用COMPILE PROJECT.用所有DCU删掉再BUILD一下看看.是不是数据模板中的TDATABASE激活了.
      

  13.   

    从来没见过这么大的应用程序!用dll呀~
      

  14.   

    我编译程序时用的是BUILD PROJECT.
    其他選項都是用默認的!
      

  15.   

    工程總共文件去掉.~   .ddb  .dcu  文件后有83.9M
      

  16.   

    My god! How do you make your exe file up to 21M?It's impossible!
      

  17.   

    ooooooooooooooooo
    ~~~~~~~~~~~~~~~~~
      

  18.   

    采用分包的方式将你的应用程序分为若干块,小块可以是BPL,也可以是DLL, 详细的分包方法,请参考软件工程。
      

  19.   

    我改了部分用DLL,可編出來的EXE大小不變,相比我還要多傳一個3M的DLL。
      

  20.   

    太恐怖了吧,写出21M的运行文件请详细说一下你的程序不过你可以把它分开写啊,比如写几个DLL等
      

  21.   

    不清楚的就是我用一個EXE壓縮工具壓縮只有2.7M,并且EXE能正常運行!
      

  22.   

    兄弟,别拿哥们开涮了吧,有史以来没有见到过主程序有21M的软件....(除非是Authorware)
      

  23.   

    TO:
    wyj1(永远100分)我也說不清,代碼全是公司人員編出來的!連一個第三方控件也沒用到!21M個點也沒騙人!要有用MSN傳你一個EXE:)我的MSN是[email protected]