Programmierung

Vergleich von CONZEPT 16-Quelltexten

Der seit der Version 5.6 verfügbare CONZEPT 16-Laufwerkstreiber bietet eine Schnittstelle, um beliebige Datenbankinhalte in einem virtuellen Laufwerk darzustellen. In diesem Artikel möchte ich eine Implementierung vorstellen, die alle Prozeduren einer CONZEPT 16-Datenbank über ein Laufwerk anzeigt und darüber hinaus ein direktes Vergleichen und Zusammenführen von CONZEPT 16-Quelltexten ermöglicht.

Über einen Konfigurationsdialog kann definiert werden, welche Datenbanken über das virtuelle Laufwerk verfügbar sein sollen. Pro Datenbank wird hier ein Verzeichnis angezeigt, dessen Name auch abweichend zum eigentlichen Datenbanknamen gewählt werden kann. Innerhalb des Verzeichnisses werden die Prozeduren als Textdateien angezeigt. Sie können somit in Texteditoren geöffnet oder auch von sogenannten „Comparison Tools“ wie „Araxis Merge“ oder „WinMerge“ verarbeitet werden.

Eine mögliche Anwendung ist der Vergleich von Quelltexten, die aus unterschiedlichen Applikationsversionen stammen. Im obigen Screenshot sind zwei Versionen der Datenbank „CodeLibrary“ eingetragen, der Release- und der Entwicklungsstand. Ein „Comparison Tool“ kann den Inhalt beider Verzeichnisse vergleichen und die Unterschiede anzeigen. Auf diese Weise können die durchgeführten Quelltextänderungen von einer weiteren Person, beispielsweise im Rahmen der Qualitätssicherung, überprüft werden. Der folgende Screenshot zeigt die Unterschiede zwischen beiden Versionen der „CodeLibrary“.

Änderungen an den Textdateien auf dem Laufwerk werden in die entsprechende Datenbank übertragen. Somit können Fehler, die beim Quelltextvergleich auffallen, auch gleich korrigiert werden. Ein Kompilieren der Prozeduren findet dabei allerdings nicht statt. Dieser Vorgang kann anschließend im CONZEPT 16-Designer über den Prozedurassistenten angestoßen werden.
Durch diese Implementierung des Laufwerkstreibers wird eine weitere Anwendung möglich: Die Prozeduren können in ein externes Versionskontrollsystem eingebunden werden. Damit lassen sich unterschiedliche Versionen (in diesem Zusammenhang meist „Revisionen“ genannt) einer Prozedur verwalten und die Änderungen über die Zeit nachvollziehen.
Nutzen Sie bereits ein Versionskontrollsystem, um Ihre Quelltexte zu versionieren? Welche Erfahrungen haben Sie damit gemacht?
Die Implementierung kann über den nachfolgenden Link heruntergeladen werden. Enthalten sind die Datenbank inklusive Quellcode sowie die Konfigurationsdateien zum Einrichten des Laufwerkstreibers.

Download

Datenbank und Konfigurationsdateien ProcDrive.zip (67.07 KB)
Sie müssen angemeldet sein, um die Datei herunterladen zu können.

2 Kommentare

2 Kommentare “Vergleich von CONZEPT 16-Quelltexten”

  1. @Goecom_RI
    Dies ist technisch möglich. Über den Befehl StoOpen() kann ein Dialog geöffnet und anschließend per XmlSave() exportiert werden. Somit ließen sich die Unterschiede innerhalb von Dialogen darstellen. Änderungen können allerdings nicht über das Laufwerk vorgenommen werden, da ein Import von Dialogen aus XML-Dateien bisher nicht vorgesehen ist.

    Sie können die oben herunterladbare Implementierung gerne als Basis verwenden und diese Funktionalität hinzufügen.

Kommentar abgeben