{$WEAKLINKRTTI ON}
wohlmöglich, die
$RTTI
Direktive allerdings hat nur Auswirkung auf Typen in derselben
Unit.
Das ist bei mir nicht so. {$WEAKLINKRTTI ON} hat bei mir keine Auswirkung auf die Programmgröße. Bei {$
RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} wird das Programm 10% kleiner (nur Release und nur
Win32 getestet).
Wie bereits gesagt, vielleicht, wenn du es per include oder direkt in die jeweiligen Units packst, nicht aber wenn nur einzig und allein in der
dpr ist, außer dort befinden sich auch Klassen, die dann komplett oder teilweise rausfliegen und sich ggf kaskadieren, da dann der Smartlinker seine Arbeit machen kann.
Denn genau dann würde man sich ggf Klassen zerreißen, bei denen
RTTI notwendig ist, wenn von anderen Units aus $
RTTI ausgeschalten wird. Wenn der Scope dieser Direktive nur unitweit ist, kann man genau kontrollieren, wo man explizit auf
RTTI verzichten kann. Alles andere wäre die Rückkehr des in XE6 gefixten Bugs und sehr unratsam, es weiter zu empfehlen/benutzen.