Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi Program in verschiedene Module zerlegen (https://www.delphipraxis.net/183330-delphi-program-verschiedene-module-zerlegen.html)

ATS3788 2. Jan 2015 09:38

Delphi Program in verschiedene Module zerlegen
 
Hallo

XE7 macht ja wirklich große EXE Files.
So meine Frage, gibt es einen Guide wie man
am sinnvollsten ein Programm in verschiede
kleine Module zerlegt.

Ein schönes 2015

mkinzler 2. Jan 2015 09:48

AW: Delphi Program in verschiedene Module zerlegen
 
Dadurch wird es in Summe aber auch nicht kleiner.

Modularisierung ist sicherlich sinnvoll ist imho aber kein Heilmittel für die Dateigröße.

Dejan Vu 2. Jan 2015 09:53

AW: Delphi Program in verschiedene Module zerlegen
 
Da 99% der EXE meist eh aus vorgefertigtem VCL-Zeugs/Third-Party bestehen, kann man auch nicht viel einsparen.

Modularisierung erhöht nur die Lesbarkeit des Codes und ermöglichen es Dir, Teile der Anwendung wiederzuverwenden. Insofern sparst Du durch Modularisierung Codezeilen und sehr viel Zeit.

Perlsau 2. Jan 2015 10:36

AW: Delphi Program in verschiedene Module zerlegen
 
Zitat:

Zitat von ATS3788 (Beitrag 1285154)
XE7 macht ja wirklich große EXE Files.

Ja und?
Zitat:

Zitat von ATS3788 (Beitrag 1285154)
So meine Frage, gibt es einen Guide wie man am sinnvollsten ein Programm in verschiede kleine Module zerlegt.

Wozu? Die Kapazität heutiger Rechner (hier sind wohl vor allem Festplattenplatz und Arbeitsspeicher relevant) verkraftet das locker. Oder setzt du etwa noch einen Pentium mit 133 MHz und 512 MB Ram ein? Zu Commodore-Zeiten war das natürlich ganz anders, und auch Win 3.1, Win95 und 98 erforderten vielleicht noch etwas Rücksichtnahme auf enge Grenzen. Aber heute? Nee du, darum würde ich mich echt nicht kümmern, ob da jetzt drei vier MB mehr oder weniger drin sind ...

Dennoch gibt es eine (nicht ganz ernst gemeinte) Möglichkeit, die Exe-Dateien zu verkleinern: Verzichte auf die Benutzung Komponenten und Ressourcen :stupid:

Bernhard Geyer 2. Jan 2015 10:41

AW: Delphi Program in verschiedene Module zerlegen
 
Wenns nur um die Exe-Größe geht:

* Verwendung von Runtime-Packages
* Verwenden eines Exe-Packers wie UPX
* Compilerschalter/Linkerschalter {$WEAKLINKRTTI ON} (in dpr-Datei)
* Extended RTTI nicht mehr explizit für jede Klasse über {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} in jeder Unit (bzw. in den *.inc-Dateien).


Punkt 1 hat den Nachteil das man weiter Dateien hat

Punkt 2 hat bekannten Nachteile von Exe-Packern (Wie erhöhte gefahr von False-Positive Virenmeldungen)

Punkt 3+4 hat m.E. keine Nachteile so das wir das überall verwenden.

Helmi 2. Jan 2015 10:48

AW: Delphi Program in verschiedene Module zerlegen
 
wenn man die Debug-Infos nicht mitkompilieren lässt, dann wird die Echse auch kleiner

p80286 2. Jan 2015 11:13

AW: Delphi Program in verschiedene Module zerlegen
 
Zitat:

Zitat von ATS3788 (Beitrag 1285154)
XE7 macht ja wirklich große EXE Files.
So meine Frage, gibt es einen Guide wie man
am sinnvollsten ein Programm in verschiede
kleine Module zerlegt.

Bei Modulen fällt mir zunächst das gute alte Modula ein. Abgesehen von den Vorschlägen von Bernhard, wie wäre es mit einer oder mehreren DLLs? Bei "Hello World"-Programmen erzielst du da natürlich kaum Größenreduzierung der einzelnen Datei.

Eine weitere Möglichkeit, ist die Auslagerung von Daten.

Gruß
K-H

Bernhard Geyer 2. Jan 2015 11:27

AW: Delphi Program in verschiedene Module zerlegen
 
Um welche Größe der Exe geht es denn überhaupt?

mkinzler 2. Jan 2015 11:29

AW: Delphi Program in verschiedene Module zerlegen
 
Da in die Exe nur benötigte Teile der System-Bpls gelinkt wird, wird die gesammte Größe von Exe und Bpls eher größer sein als gelinkt in die Exe.

ATS3788 2. Jan 2015 11:56

AW: Delphi Program in verschiedene Module zerlegen
 
Oh nein
Es geht nur darum ich habe es noch nie gemacht und wollte eben mal
sehen wie das geht. Danke für die Antworten:shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 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