![]() |
Probleme mit TRegistry beim Überschreiben eines Strings
Hallo,
ich stelle gerade in meiner Anwendung einige Sachen von Inifile auf Registry um, da wir mittlerweile viele Kunden haben, die mit TerminalServer arbeiten. Jetzt will ich alles unter HKEY_CURRENT_USER speichern, mit welchen loginnamen (emails) dort schon angemeldet waren (in dieser Session, deswegen current_user). Beim ersten Nutzer ging das gut, ich sehe den Eintrag in der Registry. Aber dann kommt jetzt immer ein Fehler, dass das Programm die Daten nicht setzen kann. Hier der Code :
Code:
---------------------------
procedure TfLoginForm.cxmeEmailExit(Sender: TObject);
var Reg : TRegistry; S : String; begin If cxmeEmail.ValidateEdit(False) Then begin If Not EmailInLookupList(UpperCase(cxmeEmail.Text)) Then cxmeEmail.Properties.LookupItems.Add(cxmeEmail.Text); Reg := TRegistry.Create(KEY_SET_VALUE); Reg.RootKey := HKEY_CURRENT_USER; If (Not Reg.KeyExists(REGISTRY_MYAPP_ROOT)) Then Reg.OpenKey(REGISTRY_MYAPP_ROOT, True); cxmeEmail.Properties.LookupItems.Delimiter := ';'; S := cxmeEmail.Properties.LookupItems.DelimitedText; Reg.WriteString('LoginList', S); Reg.CloseKey; Reg.Free; end; end; Debugger Exception Notification --------------------------- Project XXXX raised exception class ERegistryException with message 'Failed to set data for 'LoginList''. --------------------------- Break Continue Help --------------------------- Ich lasse das Programm nicht als admin laufen, sollte ja aber auch nicht bei current_user, oder ? Danke schonmal für die Hinweise! |
AW: Probleme mit TRegistry beim Überschreiben eines Strings
Klappt es, wenn du den Parameter bei TRegistry.Create weglässt?
|
AW: Probleme mit TRegistry beim Überschreiben eines Strings
Nein
Edit: Lösche ich den Baum, so dass er mit
Code:
neu erstellt wird, dann schreibt er den Key. Lösche ich nur den Key, dann kommt der Fehler auch.
Reg.OpenKey(REGISTRY_MYAPP_ROOT, True);
|
AW: Probleme mit TRegistry beim Überschreiben eines Strings
Oh, es liegt vermutlich an der If (Not Reg.KeyExists(REGISTRY_MYAPP_ROOT)) Then Abfrage. Das OpenKey muss immer kommen, auch wenn der Key existiert.
|
AW: Probleme mit TRegistry beim Überschreiben eines Strings
Das war's. Danke
Manchmal sieht man sowas nicht :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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