Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Das Programm wird zu groß (https://www.delphipraxis.net/201773-das-programm-wird-zu-gross.html)

IBExpert 25. Aug 2019 14:59

AW: Das Programm wird zu groß
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1443115)
Gab es nichtmal irgendein Tool das anhand der erzeugten DCU-Dateien zeigen konnte woher der Speicherverbrauch kommt? Zumindest welche Units "wie dick" werden?

Hat mir einmal sehr geholfen als jemand eine 25 MB große Bitmap in einem DFM-Formular untergebracht hat ��

Man bekomt meistens einen ganz guten Eindruck davon, was da so viel platz belegt, wenn man da mal einen Delphi Decompiler über die exe drüberjagt. Das Ergebnis ist im Gegensatz zu so machen .NET Decompile für die Weiterbenutzung in Delphi fast unbrauchbar, aber die Aufteilung und ggf dabei erzeugten dfm zeigen ziemlich klar, was da am Ende in der exe zB via dfm eingebunden ist. die decompiler, mit denen ich so was mal gemacht hab, haben alle dfm inhalte recht gut extrahiert und auch da war bei einem Kundenprojekt eine Imagelist als Verursacher schnell lokalisiert, die komplett in der dfm enthalten war und nicht zur Laufzeit geladen wurde.

Der große Vorteil auf diesem weg via Decompiler ist, das du nicht erst durch deine Sourcen durchgehen musst und jeden möglichen Compilerschalter im Kopf haben musst, der ziemlich viel Kram entweder integriert oder auch ignoriert. Was der decompiler findet ist am ende auch drin.

TiGü 26. Aug 2019 08:37

AW: Das Programm wird zu groß
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Uwe Raabe (Beitrag 1443118)
Zitat:

Zitat von jaenicke (Beitrag 1443116)
Ein erster Fingerzeig ist die Analyse über Projekt --> Analyze project ..., womit du einen Überblick über die eingebundenen Units und deren Größe bekommst.

Und das stellt welches PlugIn zur Verfügung? Standard Delphi ist das offenbar nicht.

Sicher?
Menü Project -> Analyze project XYZ.dproj.
Zwischen Information for XYZ und Compile All Projects

Schokohase 26. Aug 2019 08:45

AW: Das Programm wird zu groß
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von TiGü (Beitrag 1443262)
Zitat:

Zitat von Uwe Raabe (Beitrag 1443118)
Zitat:

Zitat von jaenicke (Beitrag 1443116)
Ein erster Fingerzeig ist die Analyse über Projekt --> Analyze project ..., womit du einen Überblick über die eingebundenen Units und deren Größe bekommst.

Und das stellt welches PlugIn zur Verfügung? Standard Delphi ist das offenbar nicht.

Sicher?
Menü Project -> Analyze project XYZ.dproj.
Zwischen Information for XYZ und Compile All Projects

Sicher?
Anhang 51587
Uwe sprach von Standard Delphi ohne 3rd-Party Erweiterungen, bzw. fragte welches Plugin das zur Verfügung stellt

Uwe Raabe 26. Aug 2019 08:58

AW: Das Programm wird zu groß
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von TiGü (Beitrag 1443262)
Sicher?
Menü Project -> Analyze project XYZ.dproj.
Zwischen Information for XYZ und Compile All Projects

Ziemlich sicher! An der Stelle stehen bei mir die Methodentoxizitäts-Metriken.

Erstes Indiz: es ist in Englisch (gut, das könnte auch euer Setup sein)
Zweites Indiz: es wird in der Hilfe nicht erwähnt: Menü Projekt
Drittes Indiz: siehe Screenshot

TiGü 26. Aug 2019 09:50

AW: Das Programm wird zu groß
 
Ach schau, da guck...das gehört zur JCL. :shock:

TiGü 26. Aug 2019 09:53

AW: Das Programm wird zu groß
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1443264)
Erstes Indiz: es ist in Englisch (gut, das könnte auch euer Setup sein)

OT: Die Entwicklungsumgebung immer auf Englisch, es ist sonst nur zumeist schlimmer (Übersetzungs-)-Augenkrebs.

Kleines Schmankerl dazu: https://github.com/danielauener/git-auf-deutsch :-D

buddyman83 26. Aug 2019 10:11

AW: Das Programm wird zu groß
 
Zitat:

Zitat von IBExpert (Beitrag 1443112)
Wenn es kleiner sein soll, dann lass mal upx da drüber laufen, aber außer das die
Datei danach kleiner ist, ergibt auch das wenigVorteile.

Es ergibt sogar viele Nachteile, denn mit upx komprimierte Programme werden gerne von Virenscannern als Verdächtig angezeigt.
Das führt gerade bei technisch weniger versierten Benutzern/Kunden nur zu unangenehmen Gesprächen.

Meine Programme werden seitdem ich den "Beziers"-Skin von DevExpress als Standard verwende auch 30-40MB groß.
Habe aber bisher noch keine Probleme feststellen können.

jaenicke 26. Aug 2019 11:52

AW: Das Programm wird zu groß
 
Zitat:

Zitat von TiGü (Beitrag 1443272)
Ach schau, da guck...das gehört zur JCL. :shock:

Tut es, ja, aber da die meistens eh installiert ist...
Aber das hatte ich vergessen zu erwähnen, ja. :oops:

Rolf Frei 26. Aug 2019 12:02

AW: Das Programm wird zu groß
 
Was ist denn das Prolbem mit der Grösse? Wenn du aus einer Anwendung zwei machen willst, in denen du dann die selben Komponenten nutzt, wirst du danach vermutlich 2 Anwendungen mit 80 MB anstatt nun einer mit 90 MB haben.


Platziere doch mal folgende rooten Zeilen in deinem DPR und schaue was dabei rauskommt. Die Exe müsste dadruch einiges kleiner werden.

program MyApp;

{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

uses
Forms,
Windows,
FForm1 in 'FForm1.pas' {Form1};

{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

NoName1 28. Aug 2019 08:53

AW: Das Programm wird zu groß
 
Rolf Frei,
ich habe beides eingebunden, kompiliert und siehe da das Programm ist kleiner geworden.
Beim Nachschauen was diese {$WEAKLINKRTTI ON} Compiler-Direktive bedeutet bin ich
auf diesen Link in der DP gestoßen: https://www.delphipraxis.net/183645-...klinkrtti.html

Scheinbar birgt das Hinzufügen dieser Compiler-Direktiven auch Risiken mit sich, wenn mit Datenbanken
gearbeitet wird.

Ich werde die EXE-Datei einfach so lassen wie sie ist. Die Vereinsverwaltung ist halt auch sehr umfangreich.
Trotzdem vielen Dank an allen für die Diskussion und die Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 Uhr.
Seite 2 von 4     12 34      

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