Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi welche uses brauch ich wirklich??? (https://www.delphipraxis.net/80284-welche-uses-brauch-ich-wirklich.html)

Andidreas 6. Nov 2006 15:59


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:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
brauch ich die wirklichh alle, oder kann ich die je nachdem was ich in meinem programm mach auch weg lassen???

Bernhard Geyer 6. Nov 2006 16:04

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.

St.Pauli 6. Nov 2006 16:15

Re: welche uses brauch ich wirklich???
 
Durch die Forensuche bin ich auf das Freeware-Tool Icarus gestoßen, welches dir die nicht mehr verwendeten Units entfernt.

Andidreas 6. Nov 2006 16:18

Re: welche uses brauch ich wirklich???
 
@ st.pauli

danke das programm werd ich mir mal anschauen :)

mr.unbekannt 6. Nov 2006 16:29

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

oldmax 6. Nov 2006 17:09

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

Hador 6. Nov 2006 17:18

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:

Zitat von oldmax
Ok, warum willst du Units aus der Uses Klausel nehmen ? Der Compiler nimmt sowieso nur die Routinen, die er für das Programm braucht.

Nö tut er nicht. Erstelle mal eine Konsolenanwendung, kompiliere sie und schau dir dann die Größe an. Entferne nun die Unit SysUtils (Sie wird nicht benötigt) und kompiliere nochmal: Die erzeugte Datei ist wesentlich kleiner.

shmia 6. Nov 2006 17:35

Re: welche uses brauch ich wirklich???
 
Zitat:

Zitat von oldmax
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.

Dafür gibt es 3 Gründe:
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".

Andidreas 7. Nov 2006 07:19

Re: welche uses brauch ich wirklich???
 
Zitat:

Zitat von Hador
Nö tut er nicht. Erstelle mal eine Konsolenanwendung, kompiliere sie und schau dir dann die Größe an. Entferne nun die Unit SysUtils (Sie wird nicht benötigt) und kompiliere nochmal: Die erzeugte Datei ist wesentlich kleiner.

genau deshalb möchte ich unnötige uses rausschmeißen, da sie meine .exe datei nur unnötig "aufblähen"

@ 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 ;)

RavenIV 7. Nov 2006 09:15

Re: welche uses brauch ich wirklich???
 
Zitat:

Zitat von St.Pauli
Durch die Forensuche bin ich auf das Freeware-Tool Icarus gestoßen, welches dir die nicht mehr verwendeten Units entfernt.

Das Icarus ist recht interessant.

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...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr.
Seite 1 von 2  1 2      

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