Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#25

AW: Das Programm wird zu groß

  Alt 29. Aug 2019, 14:40

{$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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (29. Aug 2019 um 14:43 Uhr)
  Mit Zitat antworten Zitat