[DUG] D2007 to XE2 conversion notes

Jolyon Smith jsmith at deltics.co.nz
Tue Jan 17 12:03:26 NZDT 2012


RTTI - even bog standard RTTI, never mind extended - _is_ "on" by default
for any class that ultimately derives from an ancestor class compiled with
$M+.  That includes TPersistent and thus TForm and any controls etc.  In a
GUI app at least, there will be a significant number of classes in a
project with RTTI enabled, irrespective of the project default.

And as you can see from the experiment I described, the impact of extended
RTTI on such classes is highly significant and is imposed without being
asked for.  Hence opt-OUT rather than opt-IN, in the sense that your
projects will be affected by the new feature without having asked for it.

Even more worrying is that apparent lack of effect of the $RTTI directive.

Not only is it not opt-in, but it seems that the opt-out mechanisms don't
work [properly?] either.



On 17 January 2012 11:44, Peter Hyde <peter at webcentre.co.nz> wrote:

> Hello Joylon:
>
> > Where is this clear "default is false" indication in the docs ?
>
> Under the Code Generation settings in help.
>
> > RTTI generation has always been "off" by default (as a project wide
> setting), unless a class
> > extends a type for which RTTI was previously enabled. But I can't find
> any reference to
> > _extended_ RTTI being disabled by default.
>
> Forgive me, I do not recall mention of the word _extended_ (with or
> without emphasis) in your
> original post (below). I got the impression you believed RTTI per se is
> turned on by default.
>
> > It's not what it's stored as, it's simply how much of it there is.
> > iirc where-as in the past RTTI was generated and stored for only
> > published properties, RTTI is now generated and stored for pretty much
> > *everything* (by default). If you aren't using the RTTI I believe you
> > can turn this behaviour off, or fine tune it to an extent, but I don't
> > recall off-hand the particular incantations to achieve this
>
> > imho this sort of change should be opt-IN, not opt-OUT.
>
> cheers,
> peter
>
>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at listserver.123.net.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at listserver.123.net.nz with
> Subject: unsubscribe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20120117/a0efdd8f/attachment.html 


More information about the Delphi mailing list