Autor Beitrag
Kanne
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mo 06.09.04 21:34 
bekomme mit Delphi keine Werte in die Registry !

Als Test sollte zu jedem Extension-Eintrag mit
"PersistentHandler" der dort hinterlegte Wert in
einem neuen Schlüssel "default" gesichert werden.

Den Schlüssel selber kann ich noch anlegen,
aber beim Schreiben des Wertes gibt's immer
eine ERegistryException "failed to set data for ..." !?
(sollte ja normalerweise auch ohne die beiden OpenKey
und CloseKey gehen ... habe aber in meiner Not schon alles probiert).

Im Netz gab's diverse Hinweise auf fehlende Rechte (aber keine Lösung - ausserdem habe ich Admin-Rechte) !

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
begin
listbox1.Items.Clear;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKeyReadOnly('\');
Reg.GetKeyNames(listbox1.Items);
for I := 0 to ListBox1.Items.Count - 1 do
if Reg.KeyExists('\' + ListBox1.Items[I] + '\PersistentHandler'then
begin
Reg.OpenKey('\' + ListBox1.Items[I] + '\PersistentHandler', false);
Wert := Reg.ReadString('');
ListBox1.Items[I] := ListBox1.Items[I] + Wert;
Reg.CreateKey('default');
Reg.OpenKey('default',false);
Reg.WriteString('default',Wert);
Reg.CloseKey;
end;
Reg.Free;
end;

P.S.:
Tests liefen bisher unter XP Prof. !

Moderiert von user profile iconUGrohne: Delphi-Tags hinzugefügt.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Di 07.09.04 11:49 
du hast warscheinlich in dem teil der reg keine schreibberechtigung !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 07.09.04 16:24 
Als Admin hat man dort welche.
Kanne Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 08.09.04 00:08 
hm ... dafür muss es aber doch eine Lösung geben.
Ich kann ja auch den RegEdit aufrufen und die Änderungen manuell machen - nur will ich das eben per Programm ! :cry:
Michael Stenzel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 133


D3 Prof, D7 PE
BeitragVerfasst: Mi 08.09.04 01:17 
Hallo Kanne!

In deinem Source steht
ausblenden Delphi-Quelltext
1:
Reg.OpenKeyReadOnly('\');					


Versuche doch mal nur
ausblenden Delphi-Quelltext
1:
Reg.OpenKey('\');					


Ich vermute mal, daß im Reg-Object das Flag für ReadOnly nicht durch den nochmaligen Aufruf von OpenKey gelöscht wird.

gruß
Michael.
Kanne Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 09.09.04 00:19 
:D unglaublich ... aber wahr !
Jetzt geht's ... der Sinn bleibt fraglich :?:

thx a lot & mercy cheri