gocher hat geschrieben:mschnell hat geschrieben:"Ziehen" der Units schadet doch nichts. Es wird immer nur der Code eingebaut, der auch tatsächlich irgendwo aufgerufen wird.
-Michael
Leider Falsch: Units koennen initialization/finalization haben. Und Code der dort aufgerufen wird, ist immer im fertigen Produkt.
z.B. Unit Graphics: Die included units zum lesen/schreiben von mehreren Bildformaten (jpg,png,...), und die Klassen werden in der initialization registriert. Das sind mehrere 100 MB wenn ich mich recht erinnere. (Zur errinnerung: Sobald eine Klasse referenziert ist, wird ALLER Code , der ueber "published" properties/procedures erreichbar ist einkompiliert. Smartlinking kann den nicht entfernen, weil er via RTTI erreichbar ist...)
Mit hinzu ziehen meine ich, das Ursprungsobjekt des TSynPasSyn ist visuell, also zum Darstellen des Textes angelegt mit Texteigenschaften die über TSynExporterHTML in HTML gewandelt werden. Also so gesagt wird der Code schon gebraucht aber nicht für meinen Zweck zu HTML-Darstellung.
SynEdit nutzt die visuellen Methoden. Weder SynPasSyn, noch der exporter brauchen diese.
Aber, der Exporter benutzt eine instance von TFont. Der Font wird nie wirklich verwendet, er dient nur als Platzhalter um Fore- und Backgrund- color zu speichern (und bold/italics).
Auch TColor ist in der unit Graphics. TColor selbst braucht nur wenige Bytes. Aber wenn man es verwendet bekommt man automatisch den ganzen Graphics Kram...