![]() |
AW: Warum wird die Ressource verändert?
Zitat:
Und wenn es nicht ohne sehr große Klimmzüge möglich ist, akzeptiert man einfach das es so ist oder nimmt einfach eine andere IDE, welche das kann. Zitat:
|
AW: Warum wird die Ressource verändert?
Zitat:
Eben mal getestet: Eine minimale Consolenapp, die nur die SysUtils nutzt, ist nun mit aktuellen Delphi's im Release Build um die 150 KB. Bei D7 wird eine leere Consoleapp 41 KB gross. Sobald du da bestimmte Untis verwendest explodiert das und du hast dann >2 MB. In deinem Fall sind die Untis Clipprd, Printers und IOUtils dafür verantwortlich. Hats du deine exe mit dem Release Build kompiliert oder nur mit Debug? |
AW: Warum wird die Ressource verändert?
Ok es ist wie es ist damit muss ich dann leben. Danke.
Zitat:
|
AW: Warum wird die Ressource verändert?
Zitat:
Bei Code kann der Compilier/Linker auch Ungenutztes weglassen, aber bei eingebundenen RES, kann er nicht erkennen, ob nötig oder nicht. Sobald ein
Delphi-Quellcode:
in einer einkompilierten Unit drin steckt, dann bleibt es drin, selbst wenn der verwendende Code garnicht benutzt und vom daher vom Linker weggelassen wurde.
{$R irgendwas.res}
|
AW: Warum wird die Ressource verändert?
Zitat:
Im Meinem Projekt habe ich diese komplett entfernt aber lach. Sie wird trotzdem eingebunden. |
AW: Warum wird die Ressource verändert?
Du kannst dir vom Compiler die MAP-Datei erstellen lassen (Projektoptioen),
da steht alles drin, was drin ist. Oder du schaust kurz in die PACKAGEINFO-Ressource. Die ist zwar binär, aber die Unitnamen kann man auch so erkennen. |
AW: Warum wird die Ressource verändert?
Zitat:
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. |
AW: Warum wird die Ressource verändert?
Zitat:
Meine Antwort bezog sich auf die Info von himitsu bzg. Zitat:
Denn bei mir werden sie immer eingebunden egal ob ich da etwas definiert habe oder nicht. Das die RTTI das Problem ist habe ich schon verstanden. Danke |
AW: Warum wird die Ressource verändert?
RTTI ist nur ein Teil des Problems, der andere und hier vieleicht der entscheidendere ist, dass die Forms unit verwendet wird. Das macht den grössten Unterschied. Kommentiere doch mal bei dir die Printers Unit und allen Code aus, der diese nutzt und compiliere dann. Beachte bitte auch deine uIni Unit, was da genau benutzt wird. Die Exe sollte dann deutlich kleiner werden. Das ist ein Problem dass seit jeher besthet und nichts mit RTTI zu tun hat sondern damit, dass die Forms Unit so viele Abhängikeiten hat, dass alles mögliche in die Exe gelinkt wird, was man eigentlich in deimem Fall garnicht braucht. Meine Test-Consolenanwendung in D7 wächst durch die Verwendung von Printes auch von 41 KB auf 393 KB. In neueren Delphi's macht das noch deutlich mehr aus.
|
AW: Warum wird die Ressource verändert?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz