![]() |
welche uses brauch ich wirklich???
aloha...
ich hoff mal das is jetzt keine allzu blöde frage!!! wenn ich ne formular anwendung mit delphi erstelle, dann werden mir automatisch folgende uses in meine .pas datei reingelinkt:
Delphi-Quellcode:
brauch ich die wirklichh alle, oder kann ich die je nachdem was ich in meinem programm mach auch weg lassen???
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; |
Re: welche uses brauch ich wirklich???
Sicherlich kannst Du auch einige weglassen. Der Compiler meckert schon wenn er noch welche benötigt. In der Vorlage sind halt schon die gebräuchlichsten aufgenommen.
|
Re: welche uses brauch ich wirklich???
Durch die Forensuche bin ich auf das Freeware-Tool
![]() |
Re: welche uses brauch ich wirklich???
@ st.pauli
danke das programm werd ich mir mal anschauen :) |
Re: welche uses brauch ich wirklich???
wenn du keien tolls verwenden willst nimst du eine andere aber z.T. aufwendige Möglichkeit indem du einfach ein uses nach dem anderen rausnimmst und kompilieren lässt, wenn er fehler anzeigt die vorher shcon waren, dann heißt es du solltest es wieder reinschreiben, also es wird benötigt
mfg |
Re: welche uses brauch ich wirklich???
Hi
Nun ich glaube mal gehört zu haben, blöde Fragen gibt es nicht, nur blöde Antworten.... und da sist auch gut so, sonst würd sich ja keiner mehr trauen, Fragen zu stellen. Ok, warum willst du Units aus der Uses Klausel nehmen ? Der Compiler nimmt sowieso nur die Routinen, die er für das Programm braucht. Und ich glaube, was du an Units hast, wird schon benötigt. Du kannst sie dir übrigends auch ansehen. Es gibt die Funktion Deklaration suchen, aber möglicherweise erst ab Delphi 4, wo man mit der rechten Maustaste in den Procedure- uder Functionnamen clickt und ganz oben diese Möglichkeit angeboten bekommt. Geht auch bei Systemvariablen wie Farbwerte clWhite, um nur ein Beispiel zu nennen. Gruß oldmax |
Re: welche uses brauch ich wirklich???
Du kannst dir schon immer die Units anschauen. Voraussetzung ist dafür allerdings eine Professional (oder höher) Version von Delphi. Einzige Ausnahme: Turbo Delphi Explorer.
Zitat:
|
Re: welche uses brauch ich wirklich???
Zitat:
1.) je weniger Units eingebunden werden, umso weniger hat der Compiler zu arbeiten. Bei grossen Projekten kann dies durchaus einen Unterschied in der Kompilierzeit ausmachen 2.) wenn eine Unit mit uses eingebunden wird, die den Abschnitt "initialization" hat, wird die Unit immer eingebunden, gleichgültig ob die Funktionen nun benutzt werden oder nicht. Bei manchen Units z.B. BDEtables kann dies weiterreichende und unerwünschte Konsequenzen haben (z.B. BDE DLLs werden angezogen obwohl das Programm keine BDE braucht) 3.) man könnte es als Softwarehygiene bezeichen. Units, die alle möglichen anderen Units einbinden, aber diese nicht brauchen, "stinken". |
Re: welche uses brauch ich wirklich???
Zitat:
@ mr.unbekannt ok, beide varianten sind möglich, aber da ich ehre faul bin, werd ich mich wohl mal nachm dem tool von st.pauli umschauen ;) |
Re: welche uses brauch ich wirklich???
Zitat:
Leider ist es für unsere Zwecke hier in der Firma nicht geeignet. Es nutzt mir nichts, wenn es einzelne dpk's (Projekte) durchsuchen kann, aber nicht die ganze bpg (Projektgruppe) analysiert. Es sagt mir nämlich, dass ca. 100 uses nicht benötigt werden. Wenn ich von denen aber nur einige lösche, dann kompiliert's nicht mehr. Also ist bei uns doch "Handarbeit" angesagt... |
Re: welche uses brauch ich wirklich???
Hi
Nun, ich hab mal ein paar Tests gemacht mit D4. Ich kann fast alle Units löschen, beim Compilieren baut der Compiler ein, was er braucht. ( nur das) Andersrum, SysUtils und auch andere zu entfernen hat keinen kleineren Code fabriziert. Auch mit und ohne Codeoptimierung kein Unterschied.... ? Egal, ihr mögt recht haben, was ich nicht brauch, soll auch nicht eingebunden werden. Allerdings, wenn ich bspw. Power benutze meckert mein Compiler und gibt erst dann ruhe, wenn ich die Unit Math eingefügt habe... Hab ich nun geschludert, weil nur Power gebraucht, aber die Unit Math mit Sicherheit noch eine ganze Menge anderer Funktionen parat hat ? Ich glaube nicht, das das Entfernen von Units wirklich soviel Code spart oder Compilerlaufzeiten verlängert.. aber möglicherweise, und das halte ich für wahrscheinlicher, gibt es in den Tiefen der Vererbung halt Elemente, die vielleicht erst zur Laufzeit relevant werden.... und dann viel Spaß. Ich habe viel mit Turbo-Pascal gemacht und damals wurden aus den Units nur die Teile in die Runtime gepackt, die gebraucht wurden. Ob das bei den aufgelähten "Visual" - Programmen auch so ist, keine Ahnung. Ich kann mir aber vorstellen, da fast jedes Object zur Laufzeit generiert werden kann, was also der Compiler nich weiß, das im Exe-Code doch eine Menge ungenutzter Code mitgeht. Gruß oldmax |
Re: welche uses brauch ich wirklich???
Hi,
zum Entfernen der Uses kann auch das CNPack (Addon wie GExpert) verwendet werden. Unit hinzufügen, "Used Cleaner" aufrufen, Optionen einstellen und Process wählen. Gruss Gremlin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 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