Einzelnen Beitrag anzeigen

Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Warum wird die Ressource verändert?

  Alt 23. Dez 2020, 16:43
Zitat:
Sobald ein {$R irgendwas.res} in einer einkompilierten Unit drin steckt, dann bleibt es drin, selbst wenn der verwendende Code garnicht benutzt und vom daher vom Linker weggelassen wurde.
Keine Ahnung ob den den besagten Units (Clipprd, Printers und IOUtils) eine Res eingebunden ist.
Im Meinem Projekt habe ich diese komplett entfernt aber lach. Sie wird trotzdem eingebunden.
Wie gesagt sind diese Resourcen minimal und machen die Exe nicht wirklich grösser. Wir reden hier von ein paar KB. Wenn du Texte mit resourcestring definiest, und davon gibt es seher viele in den Delphi Basis Units, kommen diese auch in die Resource der Exe (stringtable). Die MSG_xxx, etc. sind glaube ich die Symbole für Delphi Messageboxen. Die Cursors sind die Mauszeiger Symbonlresourcen, die über eine Unit hineinkommen (Classes?). DVCLAL ist eine spezielle Resource, die der Conmpiler automatisch einfügt und die Infos darüber enhält mit welcher Delphiversion sie erzeugt wurde.

Betreffs meinen gelisteten Units hast du da was falsch verstanden. Es geht dabei nicht um die Resourcen die daruch grösser werden sondern die Exe selber durch die zusätzlichen RTTI Informationen, die nicht in der Resource abgelegt werden. Also vergiss bitte die Resourcen, die sind nicht dein Problem hier, was die Grösse betrifft.

Habe nun mal die Sourcen angeschaut und dabei gesehen, dass die Forms Unit in Printers genutzt wird. Das macht deine Exe so gross. Wenn du die Printers Unit entfernst und alles selber machst, was sonst die Printers Unit macht, dürfte die Grösse schon mal deutlich kleiner werden, sofern natürlich diese Forms Unit nur da genutzt wird. Wenn du es schafst, dass die Forms unit nicht mehr in deine Exe gelinkt wird, wirst du dann eine deutlich kleinere EXE bekommen.
  Mit Zitat antworten Zitat