[Lazarus] UPDATED: Re: documentation snapshot

Marco van de Voort marcov at stack.nl
Sun Apr 21 22:19:27 CEST 2013


On Sun, Apr 21, 2013 at 01:45:19PM +0200, Marco van de Voort wrote:
> In my case the problems were twofold:
> 
> - In fcl-pastree, classes have been separated into baseclasses and
>   descendents. However the backend code still checks like aclass.classtype=
>    TSomeClass, but TSomeClass now also has descendents. So it should be 
>       aclass.classtype.inheritsfrom(TSomeClass).
>   Check all TPasModule and TPasClasstype occurances not in declarations or
>   casts.
> - In some places the original class is now one of the baseclass
>   descendents, but the whole family (baseclass+descendents) is still
>   casted to the original class. In most cases this is no problem,
>   but in some it access fields on in the descendent.  The classtree
>   code in particular suffered from this. (probably because it is the
>   newest)

I found another problem. Seems that in the past TPasElement.GetModule walked
the parent dependencies and delivered the module for any paselement.  Not
anymore.

This specially affects shortdescriptions, since they need the module to
resolve, and is often called with .getmodule as argument.

So the (other) backends might need to be fixed for that too. I'll update the
snapshot as soon as it finishes building.




More information about the Lazarus mailing list