Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 11.10.09 10:39 
Hallo!

Dieses Programm ist kein eigenständiges Programm, sondern gehört zu den SJ Config Utils. Es integriert diese Units und Klassen automatisch in ein bestehendes Projekt. Dennoch habe ich mich aufgrund des Umfangs entschieden es separat vorzustellen, damit es in dem Thread der SJ Config Utils übersichtlich bleibt und ich die Verwendung übersichtlich erklären kann.

Wichtig: Das Tool kann sowohl mit einer Version der Config Utils auf der Festplatte als auch eigenständig mit der integrierten Version verwendet werden. Ich werde natürlich dieses Tool bei einer neuen Version jeweils mit aktualisieren, die entsprechende Verknüpfung der Buildskripte ist bereits gemacht.

[url=www.sj-berlin.de/ser...nfigutilsappint.png]user defined image[/url]

Was sind die SJ Config Utils?
Diese Units und Klassen ermöglichen es innerhalb eigener Delphiprojekte sehr einfach die Einstellungen zu verwalten ohne sich selbst darum kümmern zu müssen wo diese liegen. Dem Benutzer wird dabei automatisch ein Einrichtungswizard angezeigt, wenn noch gar keine vorhanden sind, der dann entsprechend der eigenen Einstellungen gestaltet werden kann.

Was macht dieses Programm?
Es kopiert die Dateien in den angegebenen Ordner des Projekts und integriert die Config Utils ins Projekt. Im Einzelnen:
  • Standardmäßig werden die Dateien in den Unterordner "SJ Config Utils" unter der Projektdatei kopiert.
  • Die Projektdatei wird entsprechend angepasst, damit die Dateien direkt dem Projekt hinzugefügt sind.
  • Die anwendungsspezifischen Einstellungen werden dabei automatisch in die Dateien übernommen.
  • Es können eigene Eigenschaften bereits angegeben werden, diese stehen dann direkt zur Verfügung.
  • Standardmäßig wird automatisch die Unit des Hauptformulars als Verwendungsort angenommen. Dort wird die uses entsprechend modifiziert. Falls in der angegebenen Unit ein Formular vorhanden ist, wird darin auch direkt ein entsprechendes Feld für die Einstellungen angelegt.
  • Noch nicht in der aktuellen Version freigeschaltet, da es noch nicht ausreichend getestet ist (aber auch bereits implementiert):
    Das direkte Anlegen der Ereignisse OnCreate und OnDestroy des Formulars und das Einfügen der Quelltexte für das Erzeugen und Freigeben des Einstellungsobjektes. (Das muss derzeit noch manuell passieren.)

Wie verwende ich das Programm?
Wichtig ist zuerst eine Sicherungskopie anzulegen.
Bei kleinen normalen Projekten sollte es dann in jedem Fall reichen einfach Name, Name des Projekts und Version sowie die Projektdatei und die gewünschten Eigenschaften einzugeben, der Rest passiert automatisch.

Lizenz:
MPL 1.1 oder LGPL 2.1 oder GPL 2.0 (oder höher)

Benutzung:
Die Exe direkt aus dem Archiv oder entpackt ausführen.

Unterstützte Delphiversionen:
Delphi 2006 / Turbo Delphi, Delphi 2007
(Delphi 2005 und früher plane ich derzeit nicht mehr zu unterstützen, mit ein paar Umbauten sollte es auch da funktionieren, aber ich nutze definitiv Features, die es da noch nicht gab.)

Unterstützte Windowsversionen:
Windows 2000, XP, Vista, 7

Bekannte Probleme:
  • Das direkte Anlegen der Ereignisse OnCreate und OnDestroy des Formulars und das Einfügen der Quelltexte für das Erzeugen und Freigeben des Einstellungsobjektes ist noch nicht verfügbar, der entsprechende Quelltext ist im derzeitigen Release entfernt.
  • Nested Classes, die innerhalb der Formularklasse verwendet werden, bringen das Tool durcheinander, da derzeit kein echter Parser verwendet wird.
  • Der Quelltext ist nicht ordentlich dokumentiert, da das eigentlich nur ein kleines Tool werden sollte und dann doch größere Ausmaße angenommen hat als geplant.

Viel Spaß mit dem Tool, ich hoffe es macht es einfacher, insbesondere, wenn noch nicht so viele Delphikenntnisse vorhanden sind. ;-)
Schönen Gruß,
Sebastian
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von jaenicke am So 25.10.09 13:54, insgesamt 2-mal bearbeitet
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 12.10.09 10:39 
Es gibt die erste Beta Version, in dieser Version funktioniert jetzt das automatische Anlegen der Events. Problematisch wird es nur dann, wenn man meint, die Quelltextformatierung von Delphi sei schlecht. Das Tool geht davon aus, dass man diese einigermaßen beibehält.

Heißt:
Es sollte klappen, dass man einmal das Tool, drüberlaufen lässt und dann direkt die Einstellungen nutzen kann. Nur der Wizard muss noch entsprechend angepasst werden, sowohl was die Eingabe der Einstellungen angeht als auch deren Übernahme selbst.
Und es müssen die Standardeinstellungen gesetzt werden. Entsprechende ToDo-Einträge sind vorhanden.
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 25.10.09 13:59 
Nach diversen Tests und Korrekturen gibt es jetzt die erste voll funktionsfähige Version. Damit wird alles automatisch gemacht, sofern es sich um ein normales Projekt handelt:
1. Es gibt ein Hauptformular (das mittels Application.CreateForm erzeugt wird).
2. Die Quelltextformatierung ist einigermaßen normal.
3. Nested classes beim Hauptformular und nested functions/procedures/types bei FormCreate und FormDestroy werden nicht unterstützt.

Wenn das erfüllt bzw. letzteres nicht vorhanden ist, sollte es keine Probleme geben und auch die Ereignisse ggf. automatisch angelegt werden. Heißt: Es muss nur noch der Konfigurationwizard an die eigenen Einstellungen angepasst werden und es müssen die Standardeinstellungen an der entsprechenden Stelle gesetzt werden.