Link to home
Start Free TrialLog in
Avatar of feup
feup

asked on

Reduce executable size

How can I reduce the executable size (and still include the librarys, since in Project/Options/Packages I was able to reduce it but it required me VCL40.BPL.)

I also used an executable packer but still the executable is too big?

Any ideas?
Avatar of edey
edey

if it's a small app, you may want to try rewriting it without the vcl.

GL
Mike
Avatar of feup

ASKER

I've tried, but it requested me the VCL.
yes, and it's a huge pain in the but to do it all api, but it's the only way to get away without VCL40.BPL.  This mean, unfortunatly, that you can't use any of the vcl objects, not even TForm.

GL
Mike
Avatar of feup

ASKER

ops... that's not acceptable :)))

but thanks anyway.
ASKER CERTIFIED SOLUTION
Avatar of DrDelphi
DrDelphi

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Go and look here
http://members.xoom.com/_XOOM/mr_bonanzas/xclgo.htm

This guy is really into making small exe's with delphi and has a small freeware version of the vcl called xcl


Get UPX ... it's the best exe compressor I have found...makes smaller exe's than shrinker or aspack...and it's free

http://wildsau.idv.uni-linz.ac.at/mfx/upx.html

hint! ->  use the --best setting in UPX for smallest exe's
it is a bit slow but worth the wait.


Remember that if you have Delphi2 and can compile your project with it instead of newer versions that it will make a considerably smaller exe... I have 2,3 and now 5 and ver
2 is the one to use for tiny exe's :-)  and 3 is nearly as good...
I find that exe's are about 25% or more larger using version 5



must admit, Gwena, them's some tasty links :)


GL
Mike
Avatar of simonet
Following...®
listen
 If you have a small program, you can try removing items from the Uses section one at a time.  Remove one, for example, Classes, and recompile or run the project.  If it doesn't show a compile error, then remove another one.  If you get a compile error, you can either put that one back or figure out how else to do the command that is causing the error using API or other commands that do not need that Uses item.  Looking in the Source of VCL may help to see how the VCL accomplishes it.
  Be sure to do this for the program file not just the units.
  I have done this for small exe's and come up with an 50kb exe (it didn't have a form on it).

Regards,
Ray
Avatar of feup

ASKER

thanks.

Not exactly the result I meant, but all you guys allowed me to reduce the executable 50% size


Thanks you all.