![]() |
Grosse Exe-Dateien per Delphi...
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich muss nun doch mal fragen, soll ja nix kosten... ;) Ich habe Ein kleines Delphiprojekt mit zwei Panels, ein Edit so wie ein Memo und einige Buttons. Mit Delphi 6 kommt man auf eine Grösse von rund 575 kBytes. Bei Delphi XE SE verdoppelt sich die Grösse des Kompilates auf rund 1.115.000 Bytes also 1 MB. Kann man daran etwas ändern oder ist das normal ? Ich stell mir gerade vor dass dann in 5 Jahren eine "Hellow World" - App ~ 10 MB beansprucht...
Delphi-Quellcode:
program Hello_World;
uses Windows; begin MessageBox(0, 'Hellow World !', nil, MB_ICONINFORMATION); end. |
AW: Grosse Exe-Dateien per Delphi...
Hast du die Debuginformationen angeschaltet/eingebunden?
Das ist normal (seit Unicode sind einige neue Ressourcen reingekommen, wie z.B. daten über die Regionen/Bereiche der Zeichen im Unicode. Auch sind die Codes der RTL/VCL größer/umfangreicher geworden usw. PS: packe mal sowas wie DevExpress (vorallem das Skinning-Zeugs) auf deine Form, schon stören dich die paar Bytes der VCL/RTL nicht mehr. :stupid: |
AW: Grosse Exe-Dateien per Delphi...
Gabs da nicht schon viele andere Threads drüber? Das neue RTTI macht hier scheinbar auch ein wenig was aus, so weit ich mich noch erinnern kann. Aber was sind heute schon 1MB mehr oder weniger?
|
AW: Grosse Exe-Dateien per Delphi...
Hast du alle Debug-Infos abgeschaltet? Achja, und ab D2010 gibt es ja noch diese erweiterte RTTI. Ich weiß aber nicht, ob sich die deaktivieren lässt. Du könntest sonst höchstens noch stripreloc drüberlaufen lassen, das bringt vielleicht ein paar kb.
|
AW: Grosse Exe-Dateien per Delphi...
Zitat:
Zitat:
Zitat:
Kann aber ein unkomprimiertes Bitmap auf die Form pappen für die Augenwischerrei. :mrgreen: |
AW: Grosse Exe-Dateien per Delphi...
Zitat:
:mrgreen: Immer diese Nörgler. Geh doch in das Thema ![]() Aber mal ernsthaft. MessageBox ist eine Win32-Funktion, weshalb ich hier keine Größe jenseits der 100 KiB erwarten würde. |
AW: Grosse Exe-Dateien per Delphi...
PS:
Ein einfaches Delphi XP-Standard-VCL-Projekt ist bei mir 897 KB klein. Ein Programm wie das da oben nimmt immernoch 26,5 KB ein, sowohl als Release- oder als Debug-Version. |
AW: Grosse Exe-Dateien per Delphi...
Vielleicht ist die Minimalgröße von 1 MiB ja auch ein Fietscher der SE?! :zwinker:
|
AW: Grosse Exe-Dateien per Delphi...
Der Nachhausetelefonierentrackingcode?
|
AW: Grosse Exe-Dateien per Delphi...
Zitat:
@turboPASCAL: schick doch mal die .exe oder häng sie an. Guck ich mal in IDA drüber was für Code da alles referenziert wird ... |
AW: Grosse Exe-Dateien per Delphi...
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ist ein Steinaltes Projekt von 2008, "Aufpoliert und Modernisiert". Das Teil legt eine Ini im selben Pfad wie die Exe an. |
AW: Grosse Exe-Dateien per Delphi...
Zitat:
![]() |
AW: Grosse Exe-Dateien per Delphi...
Nein, ich bezog mich auf die App., das mit der Messagebox ist ja nur ein Beispiel gewesen. Siehe Beitrag #1 unterer Teil. ;)
|
AW: Grosse Exe-Dateien per Delphi...
Selbes Problem bei mir:
Programm mit einem Button unter Delphi 2009: 500 KB. Unter Delphi XE: 1305 KB. RTTI deaktiviert, ergibt eine Reduktion um 100 KB. Alles auf Release geschaltet, keine Debug-Informationen etc. |
AW: Grosse Exe-Dateien per Delphi...
Zitat:
Die Ressourcen sind in der Tat ziemlich groß. Und was mir bei Delphi/CB-EXEn immer wieder auffällt ist diese fragmentierte Importtabelle. Kann es einfach nicht nachvollziehen, daß dort immer wieder Importe mehrfach auftauchen. Aber das eigentlich große scheinen die ganzen Units zu sein. Das Smart-Linking ist nämlich nicht immer so schlau wie der Name vorgibt.
Code:
Package Info
Never Build: No Design Time Only: No Runtime Only: No Check for Duplicates: No Environment: Delphi Module Type: Unknown Unit Info UPXGui: Main Unit TpcShrd: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported Windows: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported Types: Implicitly Imported SysInit: System: Imm: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported WideStrUtils: Implicitly Imported Classes: Implicitly Imported SysConst: Implicitly Imported RTLConsts: Implicitly Imported Character: Implicitly Imported SysUtils: Implicitly Imported ExcUtils: Implicitly Imported PsAPI: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported SHFolder: Implicitly Imported ImageHlp: Implicitly Imported TypInfo: Implicitly Imported Variants: Implicitly Imported VarUtils: Implicitly Imported ActiveX: Implicitly Imported Messages: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported Dlgs: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported MultiMon: Implicitly Imported RichEdit: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported ToolWin: Implicitly Imported Graphics: Implicitly Imported Consts: Implicitly Imported Registry: Implicitly Imported IniFiles: Implicitly Imported IOUtils: Implicitly Imported Math: Implicitly Imported Masks: Implicitly Imported DateUtils: Implicitly Imported Generics.Defaults: Implicitly Imported Generics.Collections: Implicitly Imported SyncObjs: Implicitly Imported Diagnostics: Implicitly Imported TimeSpan: Implicitly Imported AnsiStrings: Implicitly Imported StrUtils: Implicitly Imported Wincodec: Implicitly Imported Forms: UxTheme: Implicitly Imported CommCtrl: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported Themes: Implicitly Imported Controls: Implicitly Imported Dwmapi: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported ActnList: Implicitly Imported Menus: Implicitly Imported ImgList: Implicitly Imported Contnrs: Implicitly Imported StdActns: Implicitly Imported ComCtrls: Implicitly Imported CommDlg: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported ShlObj: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported StructuredQueryCondition:$WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported PropSys: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported ObjectArray: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported UrlMon: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported WinInet: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported RegStr: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported ShellAPI: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported ComStrs: Implicitly Imported Printers: Implicitly Imported WinSpool: $WEAKPACKAGEUNIT Unit, Original Containment of $WEAKPACKAGEUNIT Unit, Implicitly Imported GraphUtil: Implicitly Imported ZLib: Implicitly Imported ListActns: Implicitly Imported StdCtrls: Implicitly Imported ExtCtrls: Implicitly Imported Dialogs: Implicitly Imported HelpIntfs: Implicitly Imported Clipbrd: Implicitly Imported FlatSB: Implicitly Imported pngimage: Implicitly Imported pnglang: Implicitly Imported uUPXGui: |
AW: Grosse Exe-Dateien per Delphi...
Zitat:
|
AW: Grosse Exe-Dateien per Delphi...
Zitat:
|
AW: Grosse Exe-Dateien per Delphi...
Zitat:
|
AW: Grosse Exe-Dateien per Delphi...
Und was ist mit den anderen grafischen Ressourcen, die immer eingebunden werden? Sind die, im Vergleich zu älteren Delphi Versionen, auch größer geworden?
|
AW: Grosse Exe-Dateien per Delphi...
Aus Interesse gerade mal ausprobiert. Aus einer 8 MB EXE mit D2007 wurden mit DXE 11 MB. Aus einer 15,5MB EXE mit D2007 wurden mit DXE 22MB...
|
AW: Grosse Exe-Dateien per Delphi...
Nur einmal kurz DevExpress auf die Form gezogen und gleich wieder gelöscht ... schon wird aus einer 3 MB Datei gleich mal eine 16 MB Datei.
Also sooo schlimm ist Delphi da nun auch nicht. |
AW: Grosse Exe-Dateien per Delphi...
Was hat das jetzt mit DevExpress zu tun?
Fakt ist, dass eine leere Delphi-EXE (VCL) jetzt schon 1,3 MB groß ist. Unsere Programme bekommen automatisch bei Kompilierung unter Delphi XE statt unter Delphi 2009 ca. 1-1,1 MB Overhead zusätzlich. Man mag jetzt sagen, dass dies im Zeitalter von DSL doch egal ist. Aber es gibt noch immer Kunden ohne DSL-Anschluss, und der Speicherplatz auf Heft-CD von PC-Magazinen wird auch nach MB abgerechnet. Jedes einzelne zusätzliche MB kostet da also richtig Asche. |
AW: Grosse Exe-Dateien per Delphi...
Zitat:
![]() Und ich wollte nur ausdrücken, daß Anderes viel schlimmer ist und die paar Byte vom Delphi dagegen kaum stören. :stupid: |
AW: Grosse Exe-Dateien per Delphi...
![]() |
AW: Grosse Exe-Dateien per Delphi...
Zitat:
|
AW: Grosse Exe-Dateien per Delphi...
Zitat:
Das ist ja schön, wenn es dich nicht stört - aber wie du siehst, stört es andere. :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 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