![]() |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Mhm, ich fahre bei solchen Sachen meistens 4-gleisig, je nach Anwendung :-D
1) Der Installer (und zwar nur der Installer) schreibt den Installationspfad in die Registry. Das hilft beim leichteren Auffinden des Programms für einen Updater oder bei einem Support-Anruf, wenn der Kunde keine Ahnung hat, wo das Pogramm eigentlich liegt und / oder sein Icon / die Programmgruppe gelöscht hat etc. :-D 2) "Normale" Programm-Einstellungen liegen in einer kleinen embedded Firebird-Datenbank (Anm.: ich liebe diese Datenbank!) im AppData-Verzeichnis und können vom User im Programm selbst über einen Settings-Bildschirm geändert werden. Ebenso liegen in der Datenbank interne Einstellungen, die nur der Entwickler selbst, das Installationsprogramm oder ein Updater ändern muss. 3) Erweiterte Programm-Einstellungen für den Benutzer, die man teilweise nur zu Endpoint-Debug-Zwecken braucht oder vom End-Anwender nur einmalig umgeändert werden müssen, liegen in einer kleinen INI-Datei im AppData-Verzeichnis der Applikation. 4) Hat die Applikation eine Lua-Schnittstelle, liegen die Config-Einstellungen auch teilweise in einem Lua-Table. Generell bin ich auch, aufgrund der Einfachheit, ein Freund der guten alten INI-Datei, XML hin oder her. INI's kann jeder Endanwender im Support-Fall leicht selbst editieren und muss sich nicht durch irgendwelche Registry-Einträge hangeln. Wichtig ist hier nur, dass die INI-Datei nicht mehr, wie es bei vielen jahrelang usus war, im Programm-Verzeichnis liegt, sondern im zugehörigen AppData-Verzeichnis. Hier hilft es auch, eine Verknüpfung zur INI-Datei mit dem Installationsprogramm im eigentlichen Applikations-Verzeichnis anzulegen, damit der Endanwender sich wiederum nicht zu den AppData-Verzeichnissen hangeln muss. Ausserdem ein Vorteil von INIs (und auch XMLs): Man kann durch schlichtes Löschen der INI-Datei das Programm so auch leicht auf "Factory Reset" setzen, falls ein Endanwender es irgendwie geschafft hat, irgendwelche Form-Grössen oder Positionen völlig zu zerschiessen etc. und auch nicht editieren will :-D XML ist zwar generell die "schönere" und modernere Variante der INI, aber ich habe es schon oft erlebt, dass ein Endkunde die XML mit einem schwindligen Editor geöffnet und editiert hat, der dann die UTF8-Kodierung der XML beim speichern komplett zerstört hat. Deswegen nutze ich XML meist nur für interne Zwecke, Import / Export und dergleichen. Aber nie für Dinge, die der Endanwender auch mal mit einem Editor ändern muss. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Zitat:
SuperObject muss ich mir mal anschauen - wir haben dafür mal was eigenes entwickelt, aber die Produkte von progdigy sind doch immer wieder ein Grund zur Freude. Zuck |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Seit mindestens Delphi XE gibt es direkt im Delphi eine JSON-Implementierung,
aber gegen diese kranke Implementierung ist MSXML wesentlich einfacher Uúnd über XPath auch wesentlich mächtiger. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
JSON hat den Vorteil, dass es z.B. auch bei DataSnap verwendet wird. Man kann also die selben Daten auch gleich bei der Multi-Tier Entwicklung nutzen. Zum Beispiel, wenn man die selben Einstellungen z.B. auch an einen Thin-Client (z.B. mit JavaScript) schicken will.
Für rein lokal im Delphiprogramm benutzte Einstellungen ist XML aber besser geeignet, da bin ich der selben Meinung. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Ja auf Windows alleine ohne Netzwerk ist XML sicher eine bessere Alternative. Einige Programme sind immer noch auf rein XML - aber wie gesagt, für die Kommunikation mit einem Webserver ist JSON IMHO allemal die bessere Wahl.
Zuck |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 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-2025 by Thomas Breitkreuz