Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Über Kommandozeile die Abhängigkeiten von Units auslesen (https://www.delphipraxis.net/135834-ueber-kommandozeile-die-abhaengigkeiten-von-units-auslesen.html)

hs-y 18. Jun 2009 15:50


Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Hallo Gemeinde,

ich suche ein Tool, was man mit der Kommandozeile ausführen kann, dass einem anzeigt, welche Units in einem Projekt verwendet werden und welche Units die verwendeten Units usw. verwenden. Am besten wäre es, wenn dieses Tool die Pfade in denen die Units liegen mit ausspuckt. Ansonsten reicht es wenn die verwendeten Units ausgegeben werden. Dann muss ich mir ein tool programmieren, was diese sucht.

Icarus oder die ModelMaker Tools sind nciht geeignet, da sie graphische Tools sind.

Viele Grüße

mjustin 18. Jun 2009 17:50

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Zitat:

Zitat von hs-y
Hallo Gemeinde,

ich suche ein Tool, was man mit der Kommandozeile ausführen kann, dass einem anzeigt, welche Units in einem Projekt verwendet werden und welche Units die verwendeten Units usw. verwenden. Am besten wäre es, wenn dieses Tool die Pfade in denen die Units liegen mit ausspuckt. Ansonsten reicht es wenn die verwendeten Units ausgegeben werden. Dann muss ich mir ein tool programmieren, was diese sucht.

Icarus oder die ModelMaker Tools sind nciht geeignet, da sie graphische Tools sind.

Viele Grüße

In diesem Bereich hat Delphi nicht gerade die Nase vorn...

Eine Möglichkeit ist der --doc Schalter (ab Delphi 2005 glaube ich), damit wird für jede Unit und die DPR eine XML Datei erzeugt. Diese kann man dann parsen. Netterweise enthält die XML die zur DPR gehört, eine komplette Liste aller verwendeten Units.

Einziger Haken: man findet so nicht heraus, in welchem Verzeichnis die jeweiligen verwendeten Units liegen, und auch keine Aufrufhierarchie.

Viele Grüße,

himitsu 18. Jun 2009 18:01

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Es gibt ja ein paar Programme dazu, um die [dp]Unit-Abhängigkeiten[/dp] rauszubekommen.
Wenn du lieb fragts, vielleicht bastelt einer davon ja an seinem Programm noch etwas rum.

mjustin 18. Jun 2009 18:12

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Zitat:

Zitat von himitsu
Es gibt ja ein paar Programme dazu, um die [dp]Unit-Abhängigkeiten[/dp] rauszubekommen.
Wenn du lieb fragts, vielleicht bastelt einer davon ja an seinem Programm noch etwas rum.

Ja, das könnte man bei CodeGear ja mal anfragen - die sitzen ja praktisch an der Quelle ;)

hs-y 19. Jun 2009 07:20

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Das mit dem --doc Schalter klingt nun schon wieder ziemlich kompiliziert für meinen Use-Case.

Mir würde eigentlich ein Tool reichen, was in der Konsole jede Unit ausgibt, die verwendet wird.

Die Programme mit den Unit-Abhängigkeiten habe ich bereits gesehen. Das von grizzly auch ausprobiert (allerdings ohne das grafische Tool zusätzlich) was dann nicht funktioniert hat.

mjustin 19. Jun 2009 07:29

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Zitat:

Zitat von hs-y
Das mit dem --doc Schalter klingt nun schon wieder ziemlich kompiliziert für meinen Use-Case.

Na, das ist keine schwierig zu verarbeitende Ausgabedatei, dafür muss man noch nicht einmal einen XML Parser bemühen:

Delphi-Quellcode:
<?xml version="1.0" encoding="utf-8"?>
<namespace name="GUIDemo">
  <contains name="Grids" />
  <contains name="MaskUtils" />
  <contains name="Mask" />
  <contains name="ValEdit" />
  <contains name="BTPrimitiveMap" />
  <contains name="BTThreadSafe" />
  <contains name="BTConsumerID" />
  <contains name="BTOMQInterfaces" />
  <contains name="IndyFunc" />
  <contains name="BTURI" />
  <contains name="BTJMSConnectionFactory" />
  <contains name="DateUtils" />
  <contains name="BTSSLOptions" />
  <contains name="BTTypes" />
  <contains name="ShadowWnd" />
  <contains name="ComConst" />
  <contains name="oleacc" />
  <contains name="ABAccessibility" />
  <contains name="MMSystem" />
  <contains name="ActnCtrls" />
  <contains name="Imm" />
  <contains name="RichEdit" />
  <contains name="ToolWin" />
  <contains name="WideStrUtils" />
  <contains name="Dlgs" />
  <contains name="StdCtrls" />
  <contains name="ListActns" />
  <contains name="ZLib" />
  <contains name="Contnrs" />
  <contains name="ImgList" />
  <contains name="WinSpool" />
  <contains name="Consts" />
  <contains name="ComStrs" />
  <contains name="ShellAPI" />
  <contains name="RegStr" />
  <contains name="WinInet" />
  <contains name="UrlMon" />
  <contains name="ShlObj" />
  <contains name="CommDlg" />
  <contains name="StdActns" />
  <contains name="CommCtrl" />
  <contains name="ActnColorMaps" />
  <contains name="synacode" />
  <contains name="Messages" />
  <contains name="ActiveX" />
  <contains name="ImageHlp" />
  <contains name="StrUtils" />
  <contains name="Math" />
  <contains name="Character" />
  <contains name="RTLConsts" />
  <contains name="SysConst" />
  <contains name="Types" />
  <contains name="synafpc" />
  <contains name="synaip" />
  <contains name="blcksock" />
  <contains name="synautil" />
  <contains name="synsock" />
  <contains name="ActnMan" />
  <contains name="ActnMenus" />
  <contains name="ExtActns" />
  <contains name="Mapi" />
  <contains name="ExtDlgs" />
  <contains name="Buttons" />
  <contains name="ComObj" />
  <contains name="Clipbrd" />
  <contains name="Dialogs" />
  <contains name="ComCtrls" />
  <contains name="ExtCtrls" />
  <contains name="GraphUtil" />
  <contains name="Printers" />
  <contains name="FlatSB" />
  <contains name="HelpIntfs" />
  <contains name="Menus" />
  <contains name="Themes" />
  <contains name="Controls" />
  <contains name="DwmApi" />
  <contains name="ActnList" />
  <contains name="MultiMon" />
  <contains name="UxTheme" />
  <contains name="SyncObjs" />
  <contains name="Graphics" />
  <contains name="Registry" />
  <contains name="IniFiles" />
  <contains name="Classes" />
  <contains name="TypInfo" />
  <contains name="VarUtils" />
  <contains name="Windows" />
  <contains name="Variants" />
  ...
</namespace>

hs-y 19. Jun 2009 07:48

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Okay unter diesen Umständen ist es doch möglich, die Dokumentation zu nutzen.

Werden hier denn alle Units aufgelistet? Also auch die Units, die von den Units des Projektes gebraucht werden?

Tyrael Y. 19. Jun 2009 08:03

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Nur rein Interresse halber....wozu Braucht man so eine Auflistung?
Ich versteh grad nicht den Sinn.

Wenn ich einen Apfel habe, habe ich einen Apfel.
Ob es aus Kohlenhydraten, Zucker, Atomen, Protonen, Mesonen, Leptonen, Quarks, usw. besteht ist doch für die Nutzung irrelevant.

Soll keine Kritik an dem Ganzen sein.
Mich würde einfach nur interressieren wozu so etwas gut ist.

Gruß
Tyrael

Edit: Huch 1000. Beitrag ... :cheers:

hs-y 19. Jun 2009 08:06

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
Das ganze hat den Sinn, dass wir ALLE Dateien in einem Versionsverwaltungssystem (in diesem Fall Perforce) haben möchten. Damit keine Dateien vergessen werden, möchten wir so sicherstellen, ob die Units schon im Versionsverwaltungssystem sind, oder diese noch hinzugefügt werden müssen, weil zum Beispiel ein Entwickler neue Komponenten benutzt.

Ich hoffe, das macht den Sinn klarer.

himitsu 19. Jun 2009 08:27

Re: Über Kommandozeile die Abhängigkeiten von Units auslesen
 
wobei man diese List auch direkt aus der EXE auslesen kann ... ihr müßt euch nur mal die Resourcen genauer ansehn :)

[add]
Problem ist aber z.B., daß ohne zugehörende Pfadinformationen nicht schergestellt werden kann, ob eine Unit zu Delphi gehört oder nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 Uhr.
Seite 1 von 3  1 23      

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