Wie vor einiger Zeit bereits angekündigt (XML Documentation mit Delphi) habe ich meinen eigenen kleinen Viewer für Delphis XML-Dokumentation gebastelt (oder vielmehr bin ich noch dabei, aber den aktuellen Stand kann man schon als benutzbar bezeichnen). Hier ist er also, der Delphi XMLDoc Viewer in der Version 0.1.
Der Inhalt des Archivs sollte in ein Verzeichnis oberhalb (oder zumindest auf der gleichen Ebene) der Code-Verzeichnisse entpackt werden. Dies liegt daran, dass aktuelle Browser es nur erlauben Dateien zu öffnen, die in der Verzeichnisstruktur unterhalb der geöffneten HTML-Datei liegen (das betrifft nur das file://-„Protokoll“ und und soll den unerwünschten Zugriff auf Systemdateien verhindern).
Zum Anzeigen eines Projekts müssen unter Project der Pfad zur Projektdatei und die Projektdatei selbst angegeben werden. Der Pfad muss mittels file://… angegeben sein. Delphi erzeugt zwar eine Art Index-Datei aus dem Quelltext des Projekts, verwirft dabei aber alle Pfadangaben (zumindest Delphi 2007). Daher wird statt dessen die original dpr-Datei nach verwendeten Units gescannt.
Sind Pfad und Projektdatei angegeben wird das Projekt (hoffentlich) mit einem Klick auf Load project geladen.
In der linken Navigation werden dann unter Units alle in der dpr-Datei referenzierten Units augelistet und können per Klick angezeigt werden (sofern die entsprechende XML-Datei vorhanden und lesbar ist – ist die Datei nicht vorhanden passiert noch einfach gar nichts – die Fehlermeldungen müssen noch ausgebaut werden). Außerdem kann über das Eingabefeld Filter die Anzeige gefiltert werden.
Auf der rechten Seite wird dann die Dokumentation angezeigt (noch werden nicht alle möglichen Tags ausgewertet, aber die meisten) und auch der Sourcecode kann angezeigt werden (ein wenig Spielkram muss sein). Oben gibts Buttons zum ein- und ausklappen aller Elemente in der angezeigten Doku und den JQuery-UI Theme-Switcher (noch mehr Spielkram).
Projekt als Parameter übergeben
Das zu ladende Projekt kann übrigens auch als Parameter an die HTML-Datei übergeben werden. Damit ist es z.B. möglich, das Anzeigen der Doku in das Kontext-Menü für dpr-Dateien im Windows-Explorer einzufügen.
Das funktioniert über die Registry: Dazu muss ein neues Shell-Commando für den entsprechenden Dateityp (bei mir BDS.DprFile) angelegt werden, mit folgender Befehlszeile (Beispiel):
C:\Program Files (x86)\Mozilla Firefox\firefox.exe „file:///C:/delphi/doc.html?%1“
Der Aufruf muss direkt über die Exe des gewünschten Browser erfolgen, da bei einem generischen Aufruf des Standardbrowsers der Parameter abgeschnitten würde.
So viel fürs Erste, mehr vielleicht später.
Delphi XMLDoc Viewer (2878 downloads )