Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   *.exe Dateigröße (https://www.delphipraxis.net/173137-%2A-exe-dateigroesse.html)

schniede 8. Feb 2013 17:11

*.exe Dateigröße
 
Hallo

Nach dem Umstieg, Delphi 7 auf XE3, sind meine Programme doppelt so groß, nach der Erzeugung.
Was vorher 3Mb hatte ist nun 6,5 MB groß.
Die Programme sind nur für Win 32 kompiliert.

Was kann ich denn eventuell noch ändern?

Delphi-Quellcode:
 {$WEAKLINKRTTI ON} 
  {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
...hilft da auch nicht viel, keine Ahnung was ich da noch machen kann.
P.S.
Die USES Anweisungen stammen teils noch von Delphi7.

Sir Rufo 8. Feb 2013 18:48

AW: *.exe Dateigröße
 
Bitte bemühe doch die Forensuche, das hatten wir schon zuhauf.

Kleiner Tip: Debug-Mode und Debug DCUs und Unicode

musicman56 8. Feb 2013 18:52

AW: *.exe Dateigröße
 
Hallo,

ich war nach dem Umstieg von 2007 auf XE2 auch überrascht. Dagegen tun kann man nicht wirklich etwas. Aber, ich kann dir empfehlen was du NICHT tun solltest: Einen Exe-Packer verwenden, um damit die Dateigröße zu reduzieren, weil das z.B. für's Internet-Update praktisch wäre.

Seit über 10 Jahren hab ich AsPack (www.aspack.com) verwendet, um meine .exe'n schön klein zu halten. Auf diesen Trichter sind aber die Viren-Programmierer mittlerweile auch gekommen, und packen ihre Progrämmchen fleißig damit. Was zur Folge hat, dass mit Exe-Packern komprimierte Programmdateien unter "Generalverdacht" bei den Virenscannern fallen.

Grund dafür ist die Heuristik: Mit Exe-Packern gepackte Dateien sind im Header identisch (weil sich dort ja der Entpack-Code befindet) aber der Datenbereich ist natürlich unterschiedlich. Was aus Sicht des Scanners bedeutet: Da ist was Unbekanntes im Busch, und demzufolge schlägt die Heuristik an. :oops:

Darum mein Tipp: Finger weg von Exe-Packern, und am besten alles so nehmen wie es ist. Bei mir hat sich der Speicherbedarf etwa um 600% erhöht. Beispiel: Eine gepackte EXE mit ca. 9,5 MB wurde auf etwa 2,5 MB gepackt. Mit XE2 hat die Datei jetzt über 16 MB. Der Gesamtspeicherbedarf der Programmdateien ist von etwa 50 MB auf über 300 MB gestiegen.

Aber, das ist heutzutage ja modern. Darum sieh es einfach von der positiven Seite. :-D

evilboy 13. Feb 2013 11:58

AW: *.exe Dateigröße
 
Deswegen verwende ich für manche kleinere Projekte immer noch sehr alte Delphi-Versionen wie D3 oder D5.
Das für einen am geeignetste Delphi kann man sich nach dieser Liste aussuchen:

- Delphi 2: Erste 32-Bit-Version
- Delphi 3: Erstmalig Codevervollständigung und Packages
- Delphi 4: Actions, älteste mit XP Theme Manager sowie UTF8VCL kompatible Version
- Delphi 5: Älteste mit TNT Unicode Controls sowie JEDI VCL (ältere Version) kompatible Version
- Delphi 6: Erstmalig WebServices

- Delphi 2007: Änderungen an der VCL für Vista-Kompatibilität
- Delphi 2009: Unicode in der gesamten VCL

Mag nun mancher den Kopf über meine Position schütteln, aber mir ist ein 400 KB großes D3-Programm deutlich lieber als ein 1,5 MB großes, wenn es den gleichen Zweck erfüllt. Und die alten Versionen sind nicht immer so viel schlechter. Der Entwickler von Inno Setup, Jordan Russell, hat auch lange D2 und D3 genau aus diesem Grund verwendet, bis er wegen Unicodes auf D2009 umgestiegen ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.

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