![]() |
Konfiguration - Registry, ini & Co...
Hi Ihrs...,
ich mach mir gerade Gedanken über Konfigurationsmöglichkeiten meiner Software. Ich möchte dem Admin/Anwender möglichst viele Optionen bieten, gewisse Einstellungen selbst zu gestalten, ohne dass meine Software dafür geändert werden muss... Ich hab es bisher über eine ini gemacht, da nicht jeder Fan von Registryeinträgen ist, die er dann nicht wieder findet... Bisher waren das auch nicht sehr viele Einträge, aber im Laufe der Entwicklung kommen immer mehr hinzu, wo ich denke, da sollte der Admin/Anwender die Möglichkeit haben, selbst zu bestimmen was wo wie etc.... Soweit so gut... Ich lese also meine ini bei Programmstart in Globale Variablen ein. Nun ist es ja nicht so schön, wenn es zu viele Globale Variablen gibt. Andererseits werden diese Sachen sehr oft benötigt. Es würde also wohl wenig Sinn machen, in einer function/procedure eine lokale Variable zu definieren und jedesmal die ini einzulesen... Das wären dann verdammt viele Festplattenzugriffe... So. Nun zu meiner eigentlichen Frage. Ich kenne mich mit der Registry nicht soooo sehr aus. Ich weiß zwar, wie ich sie bearbeiten kann etc. aber was rein physisch dahinter steckt... :gruebel: In ![]() Doch wie ist das mit dem Zugriff darauf? Werden die Dateien auch bei jedem Zugriff geöffnet und wieder geschlossen, oder werden sie beim Windowsstart geöffnet und bleiben dann die ganze Zeit offen? Gibt es also einen Unterschied in Bezug auf I/Os zwischen der Registry und eigenen ini-Dateien? Gibt es Alternativen zu Globalen Variablen, wenn diese sehr oft gebraucht werden? Vielen Dank schonmal, liebe Grüße, Gina. |
Re: Konfiguration - Registry, ini & Co...
Hallo Gina,
zur Speicherung: Die Daten werden in mehreren Dateinen gespeichert, da Teile(HKCU) Benutzerspezifisch sind. Beim systemstart wird die *gesamte* Registry in den Speicher geladen. Deshalb sollte man die Registry nicht unbedingt mit allem Möglichen zumüllen, wenn es auch adere wege gibt. zur Benutzung: Benutzt wird die Registry ähnlich wie Inis - mit nem globalen(:gruebel:) Objekt - TRegistry. Guck einfach mal in die Hilfe, da steht bestimmt was. Tutorials gibts bestimmt auch ne Menge dazu. Alternativen: Alternativen gints mehrere: - ![]() - ![]() -Streams -Typisierte Dateien -Inis -XML Möglichkeiten gibts genug, kommt gerade darauf an, welche Anforderungen du stellst. In jedem Fall würde ich dir Vorschlagen statt den globalen Variablen ne Klasse zu nehmen. Die kann dann das Laden, Speichern, etc. übernehmen. mfg Christian |
Re: Konfiguration - Registry, ini & Co...
Hallo,
ich würde dir von der Registry abraten, da die eh schon total überfrachtet ist. Und selbst M$ nicht mehr 100% hinter der Idee steht Anwenderprogramm dort Einträge vornehmen zu lassen. IniFiles, besonders wenn sie sich bei dem Programm befinden, haben zudem den Charme das auch die grössten DAUs sie ganz einfach von einem Rechner auf den nächsten kopieren können. Zum Festplattenzugriff: Ich meine mich zu Erinnern, das ini-Files eh im Speicher gehalten werden und demzufolge globale Variablen garnicht notwendig sind. (Globale Variable find ich übrigens prinzipiell hässlich) mfg wo |
Re: Konfiguration - Registry, ini & Co...
TMemIniFile puffert, TIniFile schreibt immer direkt auf das Speichermedium. :)
|
Re: Konfiguration - Registry, ini & Co...
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, moin
also mir hat die Komponente von Simon Reinhardt gut gefallen. Da diese Public-Domain ist lege ich diese in den Anhang. Grüße // Martin |
Re: Konfiguration - Registry, ini & Co...
Nun wenn man eine gepufferte Ini-Datei verwendet, oder eine Registry die immer geladen ist. Wird mir doch jeder zustimmen, dass sie mit globalen Variablen günstiger bei weg kommt oder ;)
|
Re: Konfiguration - Registry, ini & Co...
Hi Vjay,
ähm... Felder? Also für ein Formular ein Feld anlegen? Was ist daran so verkehrt? Die halte ich für wesentlich geeigneter, als globale Variablen. Chris |
Re: Konfiguration - Registry, ini & Co...
Hallo Gina,
Zitat:
![]() Grüße vom marabu |
Re: Konfiguration - Registry, ini & Co...
Hallo,
vielen lieben Dank schonmal für Eure Antworten... @mschaefer Die unit sieht sehr interessant aus, werd ich mir mal näher anschauen... Danke @marabu Danke auch Dir. Auch diese unit sieht sehr vielversprechend aus. Vielleicht für mein Programm zu viel des Guten, da sich die Werte während der Laufzeit nicht verändern, aber sehr interessant. Brauche ich bestimmt beim nächsten Projekt... Danke auch für die restlichen Infos. Die Registry wird also komplett in den Speicher geladen? Diese Info hatte ich gesucht, aber leider nicht gefunden. Ich hatte so etwas "befürchtet".... Nicht umsonst sagt man ja, das eine zugemüllte Registry das System lahm macht... Ich bin auch kein großer Fan von Registry-Einträgen, besonders, wenn sie kreuz und quer vertreut sind und womöglich noch so benamst, dass man sie nie mit dem Programm in Verbindung bringen würde... So eine ini, die man leicht auch manuell editieren kann, finde ich schon klasse. Und ich mag eben auch besonders Software, die sozusagen "no-install" funktioniert... Im Endeffekt muss ich also die gewünschten Werte im Speicher halten. Eigentlich ist das doch auch nix anderes wie bei globalen Variablen, oder gibt es dort feine Unterschiede? Aber nun werd ich mir erstmal die units anschauen... Besten Dank nochmal, liebe Grüße, Gina. |
Re: Konfiguration - Registry, ini & Co...
Hm, Moin,
da frage ich mich doch nun, ob es da nicht schon eine weiter entwickelte Komponente, wo das observer pattern doch ein anerkanter Ansatz ist, gibt? Da gab es wohl mal das XVCL Project, aber das ist wohl Historie.. Grüße // Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 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