Einzelnen Beitrag anzeigen

Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#1

Probleme mit TRegistry beim Überschreiben eines Strings

  Alt 2. Jun 2018, 20:23
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!
  Mit Zitat antworten Zitat