![]() |
AW: Nicht benötigte Units bereinigen
@freimatz
Damit wirfst Du die unnötigen Units aus einer Unit heraus, aber nicht aus dem Projekt. |
AW: Nicht benötigte Units bereinigen
Das ist richtig. Das habe ich nicht berücksichtigt. Wozu das denn braucht - im Gegensatz zu uses zu cleanen - verstehe ich gerade nicht. Bei uns hat jedes Projekt einen eigenen Ordern und alle units liegen darin oder unterhalb.
|
AW: Nicht benötigte Units bereinigen
Im Projekt können auch Units drinstehen, die von keiner Unit genutzt werden. Da verliert man bei einem laufenden Projekt schnell den Überblick, gerade wenn man viel umbaut.
|
AW: Nicht benötigte Units bereinigen
Hallo zusammen
Noch eine Möglichkeit ist über die Compileroption "--symbol-report" von ![]() Danach erzeugt der Compiler im DCU Path *.symbol_report Dateien. Sind XML und diese kann man analysieren. Steht dort dann <uses> Tag ohne Client Nodes. Diese Unit's werden dann nicht verwendet. Beispiel:
Code:
Beispielsweise steht in den Uses hier Unit Vcl.Grids, sie wird aber nicht verwendet.
<?xml version="1.0" encoding="UTF-8"?>
<unit name="My.Plan"> <uses name="Vcl.Grids"> </uses> </unit> Hatte mal versuche ein Projekt aufzusetzen das diese liest und entsprechend herausfiltert. Aber zeittechnisch nie weiter verfolgt. Meine ersten Versuche damit liegen unter ![]() Ziel von mir war es, das im Buildprozess zu automatisieren. Thx und Gruss Nathan |
AW: Nicht benötigte Units bereinigen
Gerade mal PAL Lite gestartet und folgende Probleme festgestellt:
Mein Hauptprojekt in der Firma (gut 11 MiB EXE, D2010) war früher erzeugt 300 KB kleiner als compiliert. Jetzt nach dem Löschen von Uses ist es erzeugt etwa so groß wie vorher compiliert und compiliert 50 KB kleiner als erzeugt, also genau andersrum wie vorher und in jedem Fall größer. Sehr seltsam. |
AW: Nicht benötigte Units bereinigen
Zitat:
Mein Test Case ist eine Unit, die lediglich einen Class Helper enthält, dessen Methode dann in einer anderen Unit benutzt wird:
Delphi-Quellcode:
Im Gegensatz zu dem von dir beschriebenen Verhalten, empfiehlt PAL hier nicht die Unit zu entfernen.
uses
System.Classes; type TComponentHelper = class helper for TComponent public function IsDataModule: Boolean; end; Abgesehen von der Lite Version, was ist bei dir anders? |
AW: Nicht benötigte Units bereinigen
Liste der Anhänge anzeigen (Anzahl: 1)
Hab ein Beispiel angehängt. Unit2 definiert einen Class Helper, deren einzige Methode ich in Unit1 aufrufe. In dem Fall von einem Nachkommen, aber PAL funktioniert meines Wissens auch dann nicht, wenn es sich um die Klasse selbst handelt, die einen Class Helper bekommen hat.
(Das ist D2010.) |
AW: Nicht benötigte Units bereinigen
Danke, mit dem Beispiel kann ich es auch mit der Vollversion reproduzieren. Ich werde das an den Entwickler weitergeben.
|
AW: Nicht benötigte Units bereinigen
Zitat:
|
AW: Nicht benötigte Units bereinigen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:33 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