AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Probleme mit TRegistry beim Überschreiben eines Strings
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit TRegistry beim Überschreiben eines Strings

Ein Thema von MyRealName · begonnen am 2. Jun 2018 · letzter Beitrag vom 2. Jun 2018
Antwort Antwort
Benutzerbild von MyRealName
MyRealName

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

Probleme mit TRegistry beim Überschreiben eines Strings

  Alt 2. Jun 2018, 21: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
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Probleme mit TRegistry beim Überschreiben eines Strings

  Alt 2. Jun 2018, 21:41
Klappt es, wenn du den Parameter bei TRegistry.Create weglässt?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

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

AW: Probleme mit TRegistry beim Überschreiben eines Strings

  Alt 2. Jun 2018, 21:42
Nein

Edit: Lösche ich den Baum, so dass er mit

Code:
 Reg.OpenKey(REGISTRY_MYAPP_ROOT, True);
neu erstellt wird, dann schreibt er den Key. Lösche ich nur den Key, dann kommt der Fehler auch.

Geändert von MyRealName ( 2. Jun 2018 um 21:46 Uhr) Grund: Info added
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Probleme mit TRegistry beim Überschreiben eines Strings

  Alt 2. Jun 2018, 21:45
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

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

AW: Probleme mit TRegistry beim Überschreiben eines Strings

  Alt 2. Jun 2018, 21:59
Das war's. Danke

Manchmal sieht man sowas nicht
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz