Zitat von Marco van de Voort <marcov@stack.nl>:

> On Thu, Apr 02, 2009 at 08:25:16PM -0300, Felipe Monteiro de Carvalho wrote:
> > The application is not empty. If you check the symbols inside the
> > application you will see that almost all LCL components are added, and
> > PNG support, XML library, etc, etc, etc, even if not used. The
> > smartlinking is simply not yet good enought to remove those parts.
>
> Note that unneeded parts in an .exe might also be a LCL architectural
> problem, not necessarily per se smartlinking. Often if units are referenced,
> init code is run that touches a lot of stuff.

Yes. There are two LCL design problems with smart linking:
- published properties/methods needed for RTTI forms
- the register mechanism of the LCL interfaces

The first could theoretically be remedied like KOL did.
The later was done to keep the code maintainable.
Smart linking could be improved a lot, but not without a price.


> > This isn't such a big deal because hello world applications are
> > useless, in real world applications you will need to use multiple
> > components, have graphics support, use xml, etc, and those are already
> > there, so your EXE size won't grow when you need them.
>
> Correct. 1MB is nothing to worry about. 10 MB is not even something to worry
> about, if it starts swiftly.


Mattias


