Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wie verhalten sich nicht genutzte Uses-Verweise? (https://www.delphipraxis.net/8822-wie-verhalten-sich-nicht-genutzte-uses-verweise.html)

urs.liska 12. Sep 2003 16:20


Wie verhalten sich nicht genutzte Uses-Verweise?
 
Hallo DP-ler,

wenn ich Komponenten auf einem Formular platziere, werden die benötigten Units automatisch in meine Uses-Klause übernommen. Wenn ich die Komponente lösche, werden sie aber nicht automatisch gelöscht.
Dazu habe ich zwei Fragen:
1) gibt es eine Möglichkeit, unnötige uses-Einträge automatisch zu entfernen, ohne das unit für unit auszuprobieren (evtl. über Experten)?
2) hat es negative Auswirkungen, wenn die Einträge verbleiben? Also: wird durch einen uses-Eintrag irgendetwas überflüssigerweise in die exe kompiliert und/oder beim Ausführen des Programms geladen? Falls das nicht so ist, wäre es sicher trotzdem sauberer, die Einträge zu entfernen. Spätestens wenn Verweise auf Fremdkomponenten übriggeblieben sind und ich versuche, den Quelltext jemandem zu geben, der die nicht installiert hat, wird es Probleme geben...

Das ist kein akutes Problem, aber ich habe mich schon lange gefragt, was mit den uses-Einträgen eigentlich passiert.
Grüße
Urs

sakura 12. Sep 2003 16:24

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
Normalerweise kannst Du die nicht von Dir eingefügten, später hinzugekommenen Units einfach entfernen. Braucht Delphi diese, werden die wieder automatisch hinzugefügt. Ansonsten sollte Delphi unbenötigte Units eigentlich ignorieren, solange diese nicht in der Projekt-Uses-Klausel (DPR File) stehen.

...:cat:...

Hansa 12. Sep 2003 16:27

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
meiner Ansicht nach, passiert mit denen absolut nichts. Entweder Compiler-Fehlermeldund oder eben nichts. Probleme gibt es wohl nur bei Dateien, die in einem Windows-Suchpfad liegen und deshalb wohl eventuell mitcompiliert werden.

neolithos 12. Sep 2003 16:33

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
1. ist mir leider nix bekannt, nach einer weile weiß man was zu wem gehört. Probieren geht über studieren oder mal der Delphi-Hilfe verwenden, denn dort steht welche Klasse in welcher Unit steht.

2. sie stören nicht solange es keinen initialization oder finalization block gibt.

sakura 12. Sep 2003 16:37

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
Zitat:

Zitat von neolithos
2. sie stören nicht solange es keinen initialization oder finalization block gibt.

Diese Einschränkung habe ich übersehen :oops: Stimmt natürlich.

...:cat:...

neolithos 12. Sep 2003 16:40

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
Sei nicht traurig ich bin auch nicht Mr. Perfect. :wink:

urs.liska 12. Sep 2003 16:45

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
Danke für die schnellen Antworten,

@neolithos:
Das mit der initialization oder finalization liegt ja eigentlich auf der Hand, aber ich habe noch nie daran gedacht. Das heißt aber, dass man schon besser dafür sorgen sollte, dass keine Reste mehr übrig sind.
Typischer Fall: ich schreibe oft in Units, die eigentlich ohne GUI sind, ShowMessages als "Debug-Output" rein und muss dafür die Unit Dialogs einbinden. Am Schluss ist die natürlich nicht mehr nötig, hat aber eine Initialisierung, die anscheinend Einiges macht...

Schade, dass man das nicht automatisch prüfen kann, das wäre eine lohnende (aber sicher nicht so einfache) Aufgabe für einen IDE-Experten.

Nochmal vielen Dank an alle,
Urs

neolithos 12. Sep 2003 16:49

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
Ich hätte aber auch keine idee wie man so einen Experten gestallten soll.

Chewie 12. Sep 2003 16:54

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
Er müsste in etwa so arbeiten:

1. Eine Liste aller benutzten Funktionen, Prozeduren Klassen Variablen und Konstanten erstellen
2. Die Units, in denen diese deklariert bzw. definiert sind, ermitteln
3. Alle Units der uses-Klausel außer den oben ermittelten entfernen

Man muss aber noch Sachen wie $INCLUDE-Direktiven berücksichtigen.

roderich 12. Sep 2003 16:55

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
Initialization und finalization von (unbenutzten) Leichen-Units haben mir schon Einiges eingebrockt....

Sehr empfehlen kann ich ein Freeware-Tool namens "Icarus", welches Delphi-Projekte nach unnötigen uses-Klauseln durchsucht.
Zu holen unter www.peganza.com

Roderich

neolithos 12. Sep 2003 16:56

Re: Wie verhalten sich nicht genutzte Uses-Verweise?
 
Die Source-Dateien würde ich nicht durchgehen, dann eher die DCU's auswerten. Wie das funktionieren soll weiß ich bloß nicht.


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