Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Konfiguration - Registry, ini & Co... (https://www.delphipraxis.net/48231-konfiguration-registry-ini-co.html)

Gina 22. Jun 2005 13:55


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 diesem Artikel ist erklärt, dass die Registry nichts weiter als bestimmte Dateien sind, also eigentlich nichts anderes wie ini-Dateien...

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.

r2c2 22. Jun 2005 14:53

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:
-TRakBinaryStreamData
-dpCollectiondpCollection
-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

WoGe 22. Jun 2005 15:01

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

DGL-luke 22. Jun 2005 15:11

Re: Konfiguration - Registry, ini & Co...
 
TMemIniFile puffert, TIniFile schreibt immer direkt auf das Speichermedium. :)

mschaefer 22. Jun 2005 16:06

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

Vjay 22. Jun 2005 16:10

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 ;)

CalganX 22. Jun 2005 16:21

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

marabu 22. Jun 2005 16:40

Re: Konfiguration - Registry, ini & Co...
 
Hallo Gina,

Zitat:

Zitat von Gina
Gibt es Alternativen zu Globalen Variablen, wenn diese sehr oft gebraucht werden?

vielleicht interessiert dich dieser Lösungsansatz über das observer pattern?

Grüße vom marabu

Gina 22. Jun 2005 17:46

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.

mschaefer 22. Jun 2005 17:49

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 13:09 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz