[fpc-devel] property syntax extension

Michael Van Canneyt michael at freepascal.org
Thu Oct 18 14:55:37 CEST 2007



On Thu, 18 Oct 2007, Paul Ishenin wrote:

> Michael Van Canneyt wrote:
> > On Thu, 18 Oct 2007, Paul Ishenin wrote:
> >
> >   
> > > Hello, fpc-developer list.
> > >
> > > Some time ago I posted here proposal to extend platform keyword. You gave
> > > a
> > > hostile reception to that proposal.
> > >
> > > Later Florian in private conversation with me suggested better idea of
> > > property attributes. Indeed, attributes are more general solution than
> > > platform keyword.
> > >
> > > Lets discuss this proposal.
> > >
> > > What is the purpose: extend rtti (or another structures that can be
> > > accessed
> > > at run time) with list of user defined Name=Value items.
> > >
> > > How it can be used: since it is generic solution different tools can use
> > > it in
> > > their own way. For example in LCL we can use attribute 'widgetset' to
> > > define
> > > widgetset specific properties and show such properties on another Tab of
> > > Object Inspector or with different colors (or show hints and so on).
> > >     
> >
> > I see no problem with this proposal from a language point of view. The only
> > problem is the storage. Your 'runtime access'.
> >
> > I don't think it belongs in the RTTI. RTTI ends up in the binary, and we get
> > already enough complaints about binary size. A switch to leave it out is not
> > really a good solution, it shouldn't be in there in the
> > first place (apart from the technical feasability)
> >
> > Also, the only place where this extended information is useful, is in the
> > Lazarus IDE (or any other IDE) Therefor I propose to simply write it to the
> > .ppu file, or - like the resource strings - to a separate file: one per
> > unit. (a .ppi file: "pascal property information").
> >   
> Ok, no problem - lets it be ppu. We only need some way of accessing that data.
> Is ppu reading methods already exists in RTL or another fpc package?

The ppu unit does what you need. It is used by the compiler and dumppu program
provided by FPC. Maybe we should make a copy of this unit in the packages, and
extend it with some search methods/classes.

Michael.



More information about the fpc-devel mailing list