Marc Weustink wrote:
Marco van de Voort wrote:
In our previous episode, Florian Klaempfl said:
Also note that WPO can do little about published methods (since
it must assume that these can all be called via RTTI).
Maybe the IDE can feedback some info about used classes and methods?
In time, a pascal analyser would be a good thing to have. I think
analysis
of smartlinking is more something for an analyzer than the compiler
itself
(though the compiler could generate certain datafiles obviously).
This won't help lazarus. For lazarus, also the contents of the lfms is
important.
Yeah, I got it when I saw Jonas' reply. The IDE could list all visual
components in forms in a file and hand it to the compiler. And a
"custom"
list could allow additional streaming types (for users code)
All components are already sortof reported :)
In order to get streamed, each component must have a member variable
in the owning form.
However what is needed is a list of properties touched in the lfm
(setting control.caption or control.font.color for instance).
Unfortunately, thanks to RTTI this isn't enough.
Because any published property can be changed to any value, even:
- if it is not referred in the code
- if it is not in any LFM
The code could read some kind of .ini file (or worse ask the user to
input a property name and value (ouch)) and use RTTI to find and set the
property.
As a result, any code that can be triggered by a puplished property must
be included.
This means:
- drag and dock manager (since they are enabled by setting a boolean
property)
- probably a lot of image code
- many others
The only way round this, is to break compatibility with the VCL. If
drag/dock (just a random picked example) were components, that must be
put on the form or otherwise can not be used, then they would not need
to be included.
With graphics a lot of image-format readers are registered, if the unit
is used. Again the issue is to find if they could be used in some
automated way...
Martin
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel