AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Registry - Datei Wrapper?

Ein Thema von anse · begonnen am 20. Mär 2010 · letzter Beitrag vom 21. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#1

Registry - Datei Wrapper?

  Alt 20. Mär 2010, 21:18
Für eine portable Version meiner Anwendung würde ich gern auf NSIS und co. verzichten, die die Registry Einträge vorm Starten aus einer Datei importieren und nach Beenden wieder in die Datei exportieren.

Ich dachte da an eine Wrapper Klasse die die Einstellungen wahlweise in die Registry oder in eine ini-Datei schreibt. Das würde den Änderungs-Aufwand relativ klein halten. Die Baumstruktur in der Registry ist aber nur schwer in einer ini-Datei abzubilden. Noch andere Ideen, anyone?
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 21:27
Vielleicht hilft dir ja die Klasse TRegistryIniFile aus Registry.pas weiter.
Lars
  Mit Zitat antworten Zitat
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 21:29
An die hatte ich auch zuerst gedacht, aber wenn ich das richtig verstehe kümmert die sich nur darum dass auf alten Windows Versionen ohne Registry eben alles in eine INI geschrieben wird. Alle Nachfolger von Win 3.1 schreiben damit automatisch und immer in die Registry. (oder?)
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#4

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 21:38
Nein, siehe Hilfe:

Zitat:
TRegistryIniFile stellt eine sehr einfach zu handhabende Schnittstelle zur Registrierdatenbank dar. Sie benötigen keine Kenntnisse über die eigentliche Struktur der Registrierung. TRegistryIniFile ermöglicht die Verwaltung der Registrierdatenbank von Windows in einer Form, als ob es sich um eine INI-Datei von Windows 3.x handelte. Anstatt jedoch eine INI-Datei zu verarbeiten, greift TRegistryIniFile auf die Registrierung zu. Da TRegistryIniFile, wie TIniFile, von TCustomIniFile abgeleitet ist, eignet es sich für Programmcode, der sowohl in INI-Dateien als auch in die Registrierung schreibt.
Mit TRegistryIniFile kann mit einer minimalen Codeänderung von INI-Dateien auf die Systemregistrierung umgestellt werden. Als Programmierer müssen Sie nichts weiter tun, als im Quelltext alle Referenzen auf TIniFile in Referenzen auf TRegistryIniFile umzuwandeln. Anschließend kompilieren Sie erneut. Ihre Anwendung greift nun nicht mehr auf INI-Dateien, sondern auf die Registrierdatenbank zu. Änderungen in der logischen Programmstruktur sind nicht notwendig.
Lars
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 21:41
schreibs halt in eine xml datei.

da gibs sogar komponenten, die man genauso benutzen kann wie TRegistry.
  Mit Zitat antworten Zitat
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 21:44
Oh, danke - 2 gute Tips. Über der INI file Idee liegt nur der böse 64K Schatten...

cookie22, welche Komponenten sind das genau?
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 22:23
Die Funktionen RegSaveKey und RegLoadKey bzw. RegLoadAppKey könnten interessant sein.
Die Registry ist sowieso auf mehrere Dateien (Registry-Hives) verteilt.
Wenn ich das richtig verstehe, könnte man damit weitere Dateien zur Registry hinzubringen.
  Mit Zitat antworten Zitat
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 22:45
Zitat von sx2008:
Wenn ich das richtig verstehe, könnte man damit weitere Dateien zur Registry hinzubringen.
Ja, RegLoadAppKey hört sich in der Tat so an, ist allerdings auch erst ab Vista verfügbar. Die beiden anderen Funktionen exportieren bzw. importieren einen ganzen Key mitsamt der Unterschlüssel. Das scheint mir auch die einfachste Lösung für meine portable zu sein: Beim Start importieren und beim Beenden exportieren.
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 23:05
Zitat:
The calling process must have the SE_BACKUP_NAME privilege enabled. For more information, see Running with Special Privileges.
Das könnte problematisch werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Registry - Datei Wrapper?

  Alt 20. Mär 2010, 23:11
Jo, dafür muss man sich das Privileg "holen", siehe http://www.delphipraxis.net/internal...t.php?p=131879 - was aber auf meinem Vista schon mal nicht funktioniert - "Dem Client fehlt ein erforderliches Recht". Es ist wie verhext... exportiere ich den Key jetzt selbst manuell in eine Datei, also nicht mit RegSaveKey sondern den String zusammenbauen und in ein TextFile schreiben?
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr.
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