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!