Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
hi, meine .exe datei ist inzwischen 3MB groß, und hat geradeeinmal den bruchteil des quellcodes der eigentlich noch kommen soll. nun würd ich die ganz gerne verkleiner, hab nämlich eh noch keine andere datei für das prog bis auf eine .hlp und eine .ini datei. wie kann ich denn den quellcode auf andere dateien aufteilen, sodass am ende die exe-datei kleiner wird?
Du kannst z.B. Code in DLLs auslagern. Oder was auf jeden Fall immer geht ist ein Packertool für Win32/PE. Würde da UPX empfehlen. -> http://upx.sourceforge.net/
Außerdem solltest du möglichst nicht benötigte Units aus der Uses-Zeile entfernen. Richtig klein wird die EXE bei Delphi nur wenn du die Forms selbst programmierst/zur Laufzeit erstellst (also auf die VCL verzichten).
Viel ist relativ! Eine Möglichkeit wäre danach zu suchen was dein Programm so groß macht, mir fallen da spontan Bilder und VCL Komponenten ein die du verringern oder dir sparen kannst / solltest. Nach dem compilen gibt es noch eine weitere effektive Methode. UPX
Naja, 3 MB ist schon extrem fett. Hast Du da viele Grafiken drin und so? Dann ist es kein Wunder. Units aus der Uses-Klausel entfernen brauchst Du nicht, das macht der Linker automatisch für Dich.
Für eine Release-Version kannst Du in den Compiler-Optionen (Projekt->Optionen->Compiler) folgende Punkt umstellen, die die Exe kleiner machen. Zum Testen und debuggen ist das aber extrem ungeeignet.
Optimierung an
Stackframes aus
Bereichsprüfung aus
Überlaufprüfung aus
Debug-Informationen aus
Zum Debuggen solltest Du das genau andersrum einstellen. Die anderen Optionen einfach so lassen.
Auf die VCL zu verzichten ist keine akzeptable Alternative, finde ich.
Iss nich ganz richtig. Wenn du zb. n paar Units per VCL eingebunden hast und die VCL wieder löschst, dann bleiben die Units trotzdem drin. Das einzige was der Compiler macht iss die Units hinzufügen, entfernen tut er sie nich...
Nein, ist schon richtig. Ich hab extra Linker geschrieben, nicht Compiler Der Linker fügt die .dcu's zu einer Exe zusammen, schreibt den Exe-Header usw. Tote Codestücke schmeißt er dabei raus.
boah, das ging aber diesmal wirklich fix. thx erstmal und werde mir morgen erstmal die zeit nehmen, bzw. heute noch, mal die verschiedenen ideen umzusetzen.
aso, grafiken sind eigentlich nicht viele bei, nur 2 etwas größere (vielleicht 250x150 pixel)
Naja, bei 24 Bit Farbtiefe machen die beiden Grafiken schonmal 220 KB aus. Das ist immerhin ein wenig.
Quellcode macht eigentlich nicht soo wahnsinnig viel aus. Kannst Du ein bisschen was über deine Anwendung sagen? Also was ist es, was hast du alles so drin und so.