![]() |
Registry-Schlüssel erstellen
Ich habe ein Problem beim Schreiben eines neuen Schlüssels.
Ich habe mir das Beispiel aus Delphi kopiert und versucht es auszuführen (will ich dann noch anpassen). Wenn ich dann einen Schlüssel erstellen möchte erhalte ich folgende Exception: --------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Registry01.exe ist eine Exception der Klasse ERegistryException aufgetreten. Meldung: 'Erzeugung von Schlüssel TestSchluessel misslungen'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen. --------------------------- OK Hilfe --------------------------- Der Code dazu sieht so aus:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var Reg: TRegIniFile; begin if Length(NameofKey.Text) or Length(ValueforKey.Text) <=0 then Showmessage('Either the key name or value is missing.') else begin Reg:=TRegIniFile.Create('MyApp'); try Reg.RootKey:=HKey_Local_Machine; // Abschnitt in Registrierung if not Reg.OpenKey(NameofKey.Text,False) then if MessageDlg('The specified key does not exist, create it?' ,Mtinformation,[mbYes,mbNo],0)=mryes then begin Reg.CreateKey(NameofKey.Text); if not Reg.OpenKey(NameofKey.Text,False) then ShowMessage('Error in Opening Created Key') else Reg.WriteString('Main Section','Value1',ValueForKey.Text); end else Reg.WriteString('Main Section','Value1',ValueForKey.Text); finally Reg.Free; end; end; end; Durch Zufall habe ich herausgefunden, dass er einen Schlüssel anlegt. Die restlichen Daten fehlen bzw. wird in der Registry einfach "(Standard)" als Name und "(Wert nicht gesetzt)" als Wert angegeben. Das ganze befindet sich bei HKEY_USERS -> S-1-5-21........ Es sollte aber unter HKEY_LOCAL_MACHINE angelegt werden. Ich hoffe mir kann jemand weiterhelfen. Ach ja und bevor die Frage gestellt wird: Ich habe die Berechtigung um überall in der Registry Schlüssel zu erstellen. |
Re: Registry-Schlüssel erstellen
hi sarah,
ich habe nie mit TRegIniFile gearbeitet, aber kann es nicht auch TRegistry sein? achja btw das:
Delphi-Quellcode:
müsste so aussehen:
if Length(NameofKey.Text) or Length(ValueforKey.Text) <=0 then
Delphi-Quellcode:
du kannst nicht 2 bedingungen mit mal prüfen, da würde sonst die erste bedingung mit der zweiten verknüpft werden. Ein string kann auch nie kleiner als 0 sein, daher = statt <= 0 :thumb:
if (Length(NameofKey.Text) = 0) or (Length(ValueforKey.Text) = 0) then
das löst zwar das problem nicht, aber wie gesagt, nie damit gearbeitet. Wenn du TRegistry benutzt, helf ich gern =) btw: Falsche Sparte ;) |
Re: Registry-Schlüssel erstellen
Hi Mario;
also das mit dem if leuchtet mir ein (ist aber nicht mein Problem) Da ich noch nie was mit Delphi in der Registry gemacht habe habe ich natürlich in der Hilfe nachgeschaut und da wird nur das mit dem RegIniFile erklärt. Wenn du mir sagen kannst wie das mit TRegistry funktioniert würde ich es gerne damit versuchen. |
Re: Registry-Schlüssel erstellen
Hallo Sarah,
geb in der OH einfach: TRegistry ein :) dort kannst du dann dessen methoden/eigenschaften usw sehen ;) TRegistry funktioniert eigentlich (fast?) genauso gruss |
Re: Registry-Schlüssel erstellen
Also ich habe es jetzt umgeändert und arbeite nun mit TRegistry, aber jetzt habe ich ein neues Problem:
wenn ich das ganze über eine Abfrage steuere dann springt er nicht rein:
Code:
@Mario: ich hoffe du kannst mir hier auch weiter helfen, da ich noch keine Lösung gefunden habe.
if Reg.OpenKey(strNeuerPfad, True) then ...(Schluessel erstellen)...
Edit: habe den Fehler schon gefunden: hatte das falsche edt in den Pfad eingelesen :duck: |
Re: Registry-Schlüssel erstellen
Hallo Sarah :thumb:
Hast das Problem ja schon behoben wie ich sehe :wink: btw: Zitat:
greetz |
Re: Registry-Schlüssel erstellen
Machst du sie noch auf die Rechte in HKLM aufmerksam, wo du schon dabei bist. :)
|
Re: Registry-Schlüssel erstellen
da bin ich dann doch überfragt mathias :D, hat man da etwa nur als admin zugriff?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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 by Thomas Breitkreuz