Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Programm wird zu big (https://www.delphipraxis.net/171744-programm-wird-zu-big.html)

HPB 22. Nov 2012 16:59

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

himitsu 22. Nov 2012 17:04

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:
{$RTTI ...}
... da gibt es schon mehrere Threads, bezüglich zu großer Dateien.

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)

HPB 22. Nov 2012 17:30

AW: Programm wird zu big
 
Zitat:

Zitat von himitsu (Beitrag 1192440)
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:
{$RTTI ...}
... da gibt es schon mehrere Threads, bezüglich zu großer Dateien.

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)

Jetzt wo Du es ansprichst. Ich glaube ich kann mich erinnern, das ich ein Formular nicht öffnen konnte.
Habe die entsprechende DCU-Datei woanders hinkopiert. Beim erneuten Aufruf wird sie dann ja neu erstellt.
Aber kann es daran liegen?
Nach
Delphi-Quellcode:
{$RTTI ...}
werde ich mal suchen.
Vielen Dank für Deine Hinweise.
HPB

himitsu 22. Nov 2012 18:08

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.

HPB 22. Nov 2012 18:33

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

RWarnecke 22. Nov 2012 18:58

AW: Programm wird zu big
 
Mit welcher Option compilierst Du denn, mit Debug oder mit Release (Rechts in der Projektverwaltung) ?

himitsu 22. Nov 2012 19:02

AW: Programm wird zu big
 
Delphi-Quellcode:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}


http://docwiki.embarcadero.com/RADSt...e_%28Delphi%29
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.

HPB 22. Nov 2012 19:10

AW: Programm wird zu big
 
Zitat:

Zitat von RWarnecke (Beitrag 1192462)
Mit welcher Option compilierst Du denn, mit Debug oder mit Release (Rechts in der Projektverwaltung) ?

Ich habe mal mit beiden Optionen Compiliert. Die EXE-Dateien unterscheiden sich dann geringfügig.
D.H. die EXE die mit Release erzeugt wurde ist ein klein Wenig kleiner.
Mit Gruß
HPB

himitsu 22. Nov 2012 19:21

AW: Programm wird zu big
 
Hier im Forum suchenRTTI EXPLICIT METHODS

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}

Uwe Raabe 22. Nov 2012 21:05

AW: Programm wird zu big
 
Zitat:

Zitat von HPB (Beitrag 1192438)
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.

Du erwähnst es nicht, aber sind beide EXE-Files mit der gleichen Delphi-Version compiliert worden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz