Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Registryschlüssel löschen (https://www.delphipraxis.net/100704-registryschluessel-loeschen.html)

Tommy1988 2. Okt 2007 19:26


Registryschlüssel löschen
 
ICh habe da ein kleines Problem und ich finde den Fehler nicht (übermüdet ?!?!)

Delphi-Quellcode:
  with TRegistry.Create do
  begin
    try
      Rootkey := HKEY_CURRENT_USER; //Hauptschlüssel
      if OpenKey(Key, True) then //Unterschlüssel öffnen
      begin
      if DeleteKey('DerKey') then
       begin
       Showmessage('Alles gelöscht');
       CloseKey;
       end else
        begin
         Showmessage('Fehler beim Löschen');
         CloseKey;
        end;
      end;
      finally
          Free;
    end;
  end;
Der Schlüssel soll gelöscht werden, aber wird er nicht.

Achso, die Variable Key sieht so aus (Konstante)
Delphi-Quellcode:
Key: String = 'Software\DerKey;

jbg 2. Okt 2007 19:30

Re: Registryschlüssel löschen
 
Lass mal das OpenKey weg und mach nur ein DeleteKey(Key + '\DerKey')

Tommy1988 2. Okt 2007 19:44

Re: Registryschlüssel löschen
 
Mh, wenn das sso ist, dann ist das wahrscheinlich das selbe, als ob ich ein Lied löschen möchte, was "in Benutzung" ist, richtig?

Tommy1988 2. Okt 2007 20:14

Re: Registryschlüssel löschen
 
Delphi-Quellcode:
begin
  with TRegistry.Create do
  begin
    try
      Rootkey := HKEY_CURRENT_USER; //Hauptschlüssel
      if DeleteKey('DerKey') = True then
       begin
       Showmessage('Alles gelöscht');
       CloseKey;
       end else
        begin
         Showmessage('Fehler beim Löschen');
         CloseKey;
        end;
      finally
          Free;
    end;
  end;
end;
Funktioniert auch nicht.


Delphi-Quellcode:
if DeleteKey(Key+'\'+'DerKey') = True then
Das genau so wenig

Matze 2. Okt 2007 20:25

Re: Registryschlüssel löschen
 
Hi,

überprüfe nie auf = true: Wieso?

Dein Code müsste so lauten:

Delphi-Quellcode:
with TRegistry.Create do
begin
  try
    Rootkey := HKEY_CURRENT_USER;
    if OpenKey('Software', true) then
    begin
      if DeleteKey('DerKey') then
        begin
        Showmessage('Alles gelöscht');
        CloseKey;

// ...
Du musst afaik immer mittels OpenKey auf die unterste Ebene wechseln und kannst dann erst einen Schlüssel dieser Ebene löschen.

Tommy1988 2. Okt 2007 20:30

Re: Registryschlüssel löschen
 
Ok, danke. Den Fehler habe ich jetzt entdeckt.

Aber ein Problem gibt es noch, das mich seit langer zeit verolgt.

Da ich kein Deutscher bin (Luxembourger) habe ich keine Ahnung was ihr immer mit
"afaik" meint. :pale:

Matze 2. Okt 2007 20:32

Re: Registryschlüssel löschen
 
Zitat:

Zitat von Tommy1988
Da ich kein Deutscher bin (Luxembourger) habe ich keine Ahnung was ihr immer mit
"afaik" meint. :pale:

Dazu muss man kein Deutscher sein. :stupid:

afaik = as far as I know = soweit ich weiß ;)

Edit: ich gebe es zu, der deutschen Sprache tun diese englischen Abkürzungen nicht gut. Ich werde versuchen, diese daher im Forum weitestgehend zu vermeiden. Für den Erhalt der deutschen Sprache! :mrgreen:

Tommy1988 2. Okt 2007 20:44

Re: Registryschlüssel löschen
 
Dann kann man ja auch sagen swiw :D soweit ich weis ;)
ok egal.

Das Problem scheint gelöst zu sein. Ich werde mir den Thread über den Umgang mit Boolean durchlesen und drüber nachdenken.

DeddyH 2. Okt 2007 20:52

Re: Registryschlüssel löschen
 
Eine gute Adresse für solche Akronyme ist IMHO (:D) diese hier


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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-2025 by Thomas Breitkreuz