Create Registry
Zuletzt geändert: 28.02.2026 18:13

CreateRegistry #

Erzeugt ein Registry-Objekt zum Zugriff auf die interne SQL-Registry, eine Registry-Datei oder eine flüchtige RAM-Registry. Die SQL-Registry ist der zentrale Speicher für viele EULANDA-Einstellungen. Es gibt sowohl benutzerbezogene als auch globale Bereiche.

Set reg = Client.CreateRegistry(Root, Key, Options)

Parameter #

Root #

NameBeschreibung
CLIENT:Zugriff auf die EULANDA-Registry. Diese wird größtenteils beim Starten des Mandanten in den Arbeitsspeicher gelesen. Der Zugriff ist also gepuffert. Änderungen werden i.d.R. erst beim Beenden von EULANDA zurückgespeichert. Der Zugriff entspricht dem Registry-Editor unter „Systemverwaltung". Nur bei diesem Typ darf auf den Präfix „CLIENT:" verzichtet werden. Über die Angabe hinter dem Doppelpunkt kann auf spezielle Teile der Registry zugegriffen werden (siehe unten).
SERVER:Zugriff auf die nicht gecachte Registry direkt im SQL-Server. Dies entspricht dem Zugriff über den Registry-Editor im SQL-Designer. Alle Änderungen werden umgehend in die Datenbank geschrieben und alle Lesevorgänge werden frisch aus der Datenbank abgerufen. Der Zugriff ist deutlich langsamer als beim normalen Registry-Zugriff.
FILE:Reiner Lesemodus. Zugriff auf eine beliebige “.cnreg”-Datei. Die Datei muss komplett in den Arbeitsspeicher gelesen und interpretiert werden. Dies kann je nach Dateigröße einige Sekunden in Anspruch nehmen. Der Dateiname wird direkt nach dem Doppelpunkt angegeben: FILE:C:\Pfad\datei.cnreg
INSTALL:Reiner Lesemodus. Die Installationsregistry von EULANDA, wie sie beim Installieren eines neuen Mandanten vorliegt. Das Erzeugen kann einige Sekunden dauern, da die Daten aus der EXE extrahiert und dekomprimiert werden.
RAM:Flüchtige Registry im Arbeitsspeicher. Existiert nur während der aktuellen Session. Optional kann ein Name angegeben werden: RAM:MeinSpeicher

CLIENT:-Bezeichner #

Folgende Bezeichner können an “CLIENT:” angehängt werden, um einen speziellen Registry-Teil zu öffnen:

Benutzer #

BezeichnerBeschreibungPfad
ROOTBasisverzeichnis der Registry\
CURRENT_USERDer momentan angemeldete Benutzer\USER\<aktueller User>
ALLUSERDer spezielle Benutzer “.ALLUSER” (Standardwerte)\USER\.ALLUSER
ALL_USERSDer Pfad unter dem sich alle Benutzer-Schlüssel befinden\USER
DEFAULT_USERDer spezielle Benutzer “.DEFAULT”\USER\.DEFAULT
USEREin bestimmter Benutzer. Der Benutzername wird mit Leerzeichen getrennt angehängt.\USER\<name>
Set reg = Client.CreateRegistry("CLIENT:USER franz", "", "")

Session #

BezeichnerBeschreibungPfad
SESSIONFlüchtiger Session-Bereich (nur aktuelle EULANDA-Instanz)\SESSION
Set reg = Client.CreateRegistry("SESSION", "\AppFeatures", "")

Maschinen (Arbeitsplätze) #

BezeichnerBeschreibungPfad
ALL_MACHINESArbeitsplatzübergreifende Einstellungen\MACHINE\.ALLMACHINE
MACHINEEin bestimmter Arbeitsplatz. Der PC-Name wird mit Leerzeichen getrennt angehängt.\MACHINE\<name>
LOCAL_MACHINEDer aktuelle Arbeitsplatz\MACHINE\<aktueller PC>
SESSION_MACHINESpezieller Key bei Terminalserver (enthält Server- und Clientname)\MACHINE\<session>
Set reg = Client.CreateRegistry("CLIENT:MACHINE PC-LAGER01", "", "")

Solution-Partner #

BezeichnerBeschreibungPfad
ALL_VENDORSPfad unter dem sich alle Solution-Partner befinden\VENDOR
VENDOREin bestimmter Solution-Partner. Die Kennung wird mit Leerzeichen getrennt angehängt.\VENDOR\<kennung>
Set reg = Client.CreateRegistry("CLIENT:VENDOR meinepartner", "", "")

Key (optional) #

Ein Registry-Pfad, der gleich zu Anfang geöffnet sein soll. Falls der Schlüssel nicht existiert, wird er automatisch erstellt.

Options (optional) #

Reserviert für Erweiterungen.

Beispiele #

Unterschlüssel von .ALLUSER auflisten #

Set reg = Client.CreateRegistry("ALL_USERS", "", "")
MsgBox reg.GetKeyNames

Session-Registry für temporäre Daten #

Set reg = Client.CreateRegistry("SESSION", "\MeinSkript\TempDaten", "")
reg.Write "LetzterLauf", Now
reg.Write "Zähler", 42

Datei-Registry lesen #

Set reg = Client.CreateRegistry("FILE:C:\Backup\settings.cnreg", "", "")
If reg.KeyExists("\USER\.ALLUSER") Then
  reg.OpenKey "\USER\.ALLUSER"
  MsgBox reg.GetValueNames
End If

RAM-Registry für Zwischenspeicherung #

Set reg = Client.CreateRegistry("RAM:ImportCache", "", "")
reg.Write "Datensätze", 0
' ... später im Skript ...
count = reg.Read("Datensätze")

Direkt auf SQL-Server zugreifen #

' Änderungen werden sofort in die Datenbank geschrieben
Set reg = Client.CreateRegistry("SERVER:", "\OBJECTS\ACTIONS", "")
If reg.KeyExists("MeinMenüpunkt") Then
  reg.DeleteKey "MeinMenüpunkt"
End If

Siehe auch #

  • Registry-Objekt – Vollständige API-Dokumentation des zurückgegebenen Objekts (Methoden, Eigenschaften, cnreg-Format)