![]() |
Unit-Abhängigkeiten visualisieren
Liste der Anhänge anzeigen (Anzahl: 4)
Nachtrag vom 21.03.2008
Habe vorige Woche festgestellt, daß UnitUsage 0.5 mit den allerneusten DOT Versionen nicht mehr richtig zusammenarbeitet. DOT.exe hat scheinbar das Format seiner temporären Ausgabe-Dateien leicht verändert. Ich habe deswegen mal einen kleinen Hot-Fix gebastelt. Leider bin ich noch nicht dazugekommen, alle von Gruber_Hans_12345 vorgeschlagenen Änderungen aufzunehmen. Somit bringt die 0.6 nur folgende neue Features: - Läuft mit der momentan aktuellen DOT.exe - WMF-Export und Drucken leicht verbessert (Die alte Version verschluckte manchmal Linien am Rand) - Hervorhebung von Units deren Source-Code neuer ist als ein vorgegebenes Datum - Einige Kleinigkeiten auf der Oberfläche (vermutlich mit neuen Bugs) Source und binaries wie üblich hier: ![]() und im Anhang. ---- Ursprünglicher ursprünglicher Text -------------------------------------- Nachtrag vom 12.03.2007 UnitUsage ist nun bei Version 0.5 angelangt. Ein paar kleine Verbesserungen hat es gegeben (aber leider nichts weltbewegendes). Binaries, Screenshot und Kurzbeschreibung gibt es nach wie vor hier im Anhang. Sourcecode (in seiner ursprünglichen Häßlichkeit) gibt's auf der zugehörigen Webseite von ![]() ---- Ursprünglicher Text (Links erneuert) -------------------------------------- Erst kürzlich gab es einen Thread mit einem Programm zur Visualisierung von Unit-Abhängigkeiten unter Zuhilfenahme von ![]() Genau soetwas hatte ich vor längerer Zeit auch schon begonnen und dann in meiner Firma ein wenig weitergepflegt. UnitUsage ist nicht perfekt. Es kann auch nicht analysieren, welche Units gar nicht verwendet werden (da gibt es eh schon genug Tools dafür). Die Stärke von UnitUsage ist das bequeme Browsen mittels Maus-Klick innerhalb der Unit-Verknüpfungen: Screenshot siehe Anhang Ich stelle UnitUsage mal hier in der Freeware-Abteilung vor, werde es aber Open-Source machen, sobald ich den Source-Code soweit aufgeräumt habe, daß ich mich nicht mehr allzusehr genieren muß ;) Eine notdürftige Bedienungsanleitung findet sich hier: ![]() Unit-Usage 0.5 gibt es gezippt hier: ![]() (Verwenden auf eigene Gefahr. Braucht's hier einen Disclaimer?) Bei der Code-Analyse berücksichtigt UnitUsage zwar Compiler-Direktiven und Switches (auch so Zeug wie $ifopt etc...), liest auch Include-Dateien, kommt aber mit einigen neuen Konstrukten (Wie z.B. {$IF...} ) nicht zurecht. Units mit solchen Compiler-Direktiven werden dann ohne "Child"-Units angezeigt. Nicht vergessen: Um UnitUsage zu verwenden benötigt ihr dot.exe von ![]() Gruß Michael [edit=sakura] Der ScreenShot reicht als Anhang und muss nicht gleichzeitig im Text gepostet werden. Mfg, sakura[/edit] |
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
Hi!
Eine Bitte an dich: Auch wenn du im Titel auf den Screenshot hinweist, wäre es schön, wenn er stattdessen als Anhang erscheinen würde. Dies würde v.a. auch sicherstellen, dass das Bild erhalten bleibt, wenn der externe Server mal nicht mehr erreichbar ist! Danke! :thumb: Ciao Frederic |
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
frage nebenbei:
Zitat:
|
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
|
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
@computer-glossar.de
Ich nehme zur Analyse der unbenutzen Units ganz gerne ![]() @Frederick Ich hatte mich schon immer gefragt, wie die Leute immer diese Tabellen mit den Links einbauen. Danke für den Hinweis mit den Anhängen. Das mit den Attachments ist mir jetzt erst aufgefallen (Peinlich). Nächstes mal mach ich's besser! Gruß Michael |
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
Hi!
Zitat:
Kein Problem! Aber du kannst es auch bei diesem Beitrag noch verbessern: Einfach oben rechts am ersten Eintrag auf Edit klicken und dann das Bild anhängen! Ciao Frederic |
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
Zitat:
Hättest Du Dein Programm ein paar Wochen früher gepostet, hätte ich mir zwei, drei Stunden Programmierung sparen können :-) Sieht schön aus, Dein Programm. Kannst du das Programm auch als Attachment anhängen. (Den 1. Beitrag einfach mit dem [Edit] Button bearbeiten) Ich kann zwar auf delphipraxis zugreifen, aber nicht auf Deine Seite. (Firewall) Danke. Von meinem Programm habe ich gestern auch eine neue Version gepostet. ;-) Beitrag: " ![]() |
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
Wunsch erfüllt. Ich habe die Dateien der drei Links im ersten Eintrag zusätzlich gepostet.
Boah, eine Firewall, die den Zugriff auf meine Seiten verbietet. Ein echter Verlust ;) Gruß Michael |
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
Zitat:
Das Programm gefällt mir sehr gut. Die Idee den einzelnen Pfeilen eine eigene Farbe zu geben, um diese dann mit Hilfe der Farbenpalette schwarz bzw. rot / grün zu färben ist eine gute Idee :mrgreen: Welche Komponente zum anzeigen der Grafik verwendest Du denn ? Bestimmt nicht TImage von Delphi, oder? Der Export nach wmf funktioniert gut, aber bei dem obersten Kasten wird die obere Linie abgeschnitten. Der Export nach emf funktioniert bei mir nicht. Es wird keine Datei angelegt. Der Export nach jpg funktioniert. Es wird dann die aktuelle vergrößerung exportiert. (also vorher F12 drücken um 100% zu erhalten :-) ) Mit Rechtsklick auf Unit in Grafik kann man einen Parent der Unit als Ausgangspunkt festlegen um die Sichtweise einzuschränken. Es ist dann auch die Bottom Up Sichtweise möglich. Leider ist es mir nicht möglich eine Unit die keine "Kinder" hat, als Ausgangspunkt festzulegen, so das man z.B. sehen könnte welche Units in dem Projekt alles diese Biliothek verwenden. (z.B. Variants.pas) (Nachtrag: Es ist doch möglich, aber Umständlich. Auswahl des Parrent -> neuer Graph -> auf Bottom Up umschalten ->Parent rechtsklicken und gewünschte Unit auswählen. (evtl. noch auf mit Kindern umschalten) Das ist sehr Umständlich. Besser wäre es die gewünscht Unit diekt auszuwählen und nicht den parrent) Ich würde auch gerne die Möglichkeit haben den Text des dot Skriptes zu sehen / ändern. (Dann könnte man sich den Umweg über die temp.dot sparen.) Ich finde es z.B. nützlich verschiedene Units in logischen Gruppen zusammenzufassen (Cluster) Die Unterscheidung zw. Unit ohne dfm (beige) und unit mit dfm (mintgrün) finde ich auch gut. Genauso wie die Unterscheidung zw. mit Kindern (Rechteck) und ohne Kinder (Oval). Also alles in allem super Programm !!! btw: Wie viel Zeit hast Du in das Programm investiert? |
Re: Unit-Abhängigkeiten visualisieren (mit 40KB screenshot)
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe noch was gefunden:
Dein Parsing der Units funktioniert nicht 100% richtig. Folgendes Beispiel kannst du zu hause selbst testen ;-) Erstelle eine neue Anwendung. (Project1.dpr, Unit1.pas und Unit1.dfm) Diese jungfräuliche Anwendung speicherst Du in einem leerem Order. Dann kopierst Du die Quellcodedateien der VCL in das selbe Verzeichnis. ( wenn $(DELPHI) = C:\Programme\Borland\Delphi7, dann kopiere $(DELPHI)\Source\Rtl\Common, $(DELPHI)\Source\Rtl\Sys und $(DELPHI)\Source\Rtl\Win, $(DELPHI)\Source\Vcl ) Damit kannst Du dann alle Abhängigkeiten einer einfachen Anwendung inkl VCL zeigen. (Bild anklicken um die 1027x768 Version zu sehen) (siehe auch: ![]() In Deinem UnitUsage werden aber auch folgende Artefakte als Units angezeigt: "{$ENDIF}", "{$ifdef", "and", "case", "directories)", "directory", "etc.)", "file", "it", "Libc", "Ipici->IpVerb", "NMMOUSE", "server", "StdActns{$IFDEF", "SwitchChars", "that", "the", "then", "this", "Types{$IFDEF", "which", "which member function to invoke a command programmaticly. The explorer displays the help text in his status bar", "WinHelpViewer{$ENDIF}", "work-goup" Siehe auch Screenshot im Anhang. Bei Libc, server, SwitchChars könnte ich mir ja noch Units vorstellen, aber nicht bei den Namen, die z.B. Zeichen beinhalten, die bei Units verboten sind. <> ['a'..'z', 'A'..'Z', '_', '0', '1'..9'] Du solltest Dir das fehlerhafte Verhalten mal anschauen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 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 by Thomas Breitkreuz