![]() |
Programm wird zu big
Guten Tag Delphianer,
nachdem ich meinen Entwickler-Pc neu installiert habe, habe ich bei einem von mir entwickeltem Programm, es ist eine Warenwirtschaft, nach dem Compilieren des Programms eine Zunahme des EXE-Files um 100% festgestellt. Waren es vorher ca. 22 MB, waren es nach dem Compilieren 45 MB. Ich arbeite fast ausschließlich mit den TMS-Componenten-Pack. Habe die Jedi-Komponenten installiert, von denen ich die eine oder andere auch einsetze. Jeder Button in der Anwendung hat ein Picture von 32*32 und in der Hintanzeige von 16*16 Pixel. Kann ich irgendeinen Schalter in den Projektoptionen setzen, damit die EXE-Datei wieder auf ein gesundes Maß reduziert wird? Oder gibt es sonst noch Einstellungen die ich beeinflussen kann? Mit Gruß HPB |
AW: Programm wird zu big
Du kannst einiges an Debuginfos deaktivieren und es gibt auch vieles von der RTTI, was deaktiviert werden kann.
- die Debuginfos sind vorwiegend in den Projektoptionen zu finden - bei der RTTI mußt'e mal suchen (war irgendwas mit
Delphi-Quellcode:
... da gibt es schon mehrere Threads, bezüglich zu großer Dateien.
{$RTTI ...}
So einfach sollte sich da aber nichts von alleine ändern. Hast du auch Änderungen an deinen Projektdateien? (z.B. *.dproj verloren und neu erstellt worden) |
AW: Programm wird zu big
Zitat:
Habe die entsprechende DCU-Datei woanders hinkopiert. Beim erneuten Aufruf wird sie dann ja neu erstellt. Aber kann es daran liegen? Nach
Delphi-Quellcode:
werde ich mal suchen.
{$RTTI ...}
Vielen Dank für Deine Hinweise. HPB |
AW: Programm wird zu big
DCUs selber sind grundsätzlich erstmal egal.
Das sind ja "nur" die kompilierten Versionen der PAS. Ist die PAS da, kann die DCU weg. Es sei denn du hattest ein Problem, der Compiler fand eine/mehrere PAS nicht und verwendete ständig die "alten" DCUs, anstatt neu zu kompilieren. Dann kann sich das Löschen natürlich entsprechend auswirken, wenn man diese nun löscht. Der Vorteil ist aber, daß der Compiler nun entweder die PAS ordentlich kompiliert, oder zumindestens meckert, so daß man weiß daß da was nicht stimmt. Die DCUs und Co. kannst du aber auch in ein Verzeichnis auslagern. Ich hab bei mir z.B. oftmals DCU-Ausgabeverzeichnis = ".\_dcu_$(Platform)_$(Config)" EXE-Ausgabeverzeichnis = ".\_bin_$(Platform)_$(Config)" Das ergibt dann ein Unterverzeichnis bei der Projektdatei von z.B. "_dcu_Win32_Debug", wo alle kompilierten DCUs landen. So kann man auch ganz schnell aufräumen, indem man dieses Verzeichnis löscht. DCPs und DesignTime-BPLs landen in einem globalem Verzeichnis. |
AW: Programm wird zu big
Richtig. Ich habe damals nicht die DCU gelöscht, sondern die entsprechende DFM-Datei.
Ich habe in den Projeckt-Optionen mal folgendes eingestellt: Mit Debug-DCU = false Debug-Informationen = false Alle anderen Einstellungen sind Default-Einstellungen. Aber trotzallem bleibt das Problem bestehen. Mit Gruß HPB |
AW: Programm wird zu big
Mit welcher Option compilierst Du denn, mit Debug oder mit Release (Rechts in der Projektverwaltung) ?
|
AW: Programm wird zu big
Delphi-Quellcode:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
![]() Die lokale OH ist dafür leider zu blöd, bzw. der Index ist besch*. Ob es da noch mehr gab, weiß ich jetzt nicht so auf Anhieb. Wie gesagt, es gab schon mehrere Threads dazu ... müßte nur mal jemand danach suchen. Ach ja, als Erstes kannst du immer erstmal in der Projektverwaltung die Build-Konfiguation auf Release umstellen. XE2 hat mehrere Konfigurationen, welche weitgehend unabhängig voneinander eingestellt werden können und diese Beiden sind schon vordefiniert. |
AW: Programm wird zu big
Zitat:
D.H. die EXE die mit Release erzeugt wurde ist ein klein Wenig kleiner. Mit Gruß HPB |
AW: Programm wird zu big
![]() Und in einem meiner Programme hab ich Dieses gefunden:
Delphi-Quellcode:
{$ASSERTIONS OFF}
{$DEBUGINFO OFF} {$LOCALSYMBOLS OFF} {$REFERENCEINFO OFF} {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} {$WEAKLINKRTTI ON} |
AW: Programm wird zu big
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 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