Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi TRegistry:DeleteKey [geklärt] (https://www.delphipraxis.net/6939-tregistry-deletekey-%5Bgeklaert%5D.html)

Andreas L. 28. Jul 2003 08:27


TRegistry:DeleteKey [geklärt]
 
Was ist hier wieder falsch???

Delphi-Quellcode:
procedure Tmain.Button2Click(Sender: TObject);
var Reg : TRegistry;
    a:Boolean;
begin
if config.CheckBox1.Checked :=TRUE then
  Reg:=TRegistry.Create;
  Reg.Rootkey:=HKEY_CURRENT_USER;
  a:= Reg.deletekey('\MySQL_Tool');
  Reg.Free;
Application.Terminate
else Application.Terminate;
end;
thx

brainmue 28. Jul 2003 08:46

Re: TRegistry:DeleteKey
 
Hallo!

Ich glaube Du hast den OpenKey vergessen!

Delphi-Quellcode:
procedure Tmain.Button2Click(Sender: TObject);
var Reg : TRegistry;
    a:Boolean;
begin
if config.CheckBox1.Checked :=TRUE then
  Reg:=TRegistry.Create;
  Reg.Rootkey:=HKEY_CURRENT_USER;
  Reg.OpenKey('\SOFTWARE\',true);
  // Ich nehme mal an, das Du vergessen hast Ihm zu sagen, wo der Key eigentlich ist!
  a:= Reg.DeleteKey('MySQL_Tool');
  // Außerdem würde ich den vorrangestellten Backslash beim KeyNamen weg lassen!
  Reg.Free;
Application.Terminate
else Application.Terminate;
end;
Ich hoffe, das hilft Dir!

Gruß
Michael!

Andreas L. 28. Jul 2003 09:08

Re: TRegistry:DeleteKey
 
DDanke, das konnte ich auch brauchen, aber das Porblem ist das hier
Delphi-Quellcode:
if config.CheckBox1.Checked :=TRUE then
der Fehler kommt. Ausdrückstyp muss Boolean sein.

brainmue 28. Jul 2003 09:42

Re: TRegistry:DeleteKey
 
Das ist gut!

Ich bin schon so blind!
Die Lösung ist aber so einfach, das Du und ich sie natürlich nicht sehen konnten!
Eine Ausrede am Tag ist erlaubt!!! :cry:

Delphi-Quellcode:
if config.CheckBox1.Checked :=TRUE then
Du schreibst ja einen Wert rein!!!
Es darf kein : da sein, wenn Du einen vergleich machen möchtest!

So sollte es gehen:
Delphi-Quellcode:
if config.CheckBox1.Checked = TRUE then
Gruß
Michael!

Chewie 28. Jul 2003 10:39

Re: TRegistry:DeleteKey
 
Oder so:
Delphi-Quellcode:
if Config.Checkbox1.Checked then

Pseudemys Nelsoni 28. Jul 2003 11:02

Re: TRegistry:DeleteKey
 
ich denke auch das du ein "begin...end" vergessen hast

Delphi-Quellcode:
procedure Tmain.Button2Click(Sender: TObject);
var Reg : TRegistry;
    a:Boolean;
begin
if config.CheckBox1.Checked :=TRUE then
  Reg:=TRegistry.Create;
  Reg.Rootkey:=HKEY_CURRENT_USER;
  Reg.OpenKey('\SOFTWARE\',true);
  // Ich nehme mal an, das Du vergessen hast Ihm zu sagen, wo der Key eigentlich ist! 
  a:= Reg.DeleteKey('MySQL_Tool');
  // Außerdem würde ich den vorrangestellten Backslash beim KeyNamen weg lassen! 
  Reg.Free;
Application.Terminate
else Application.Terminate;
end;

müsste meiner meinung nach so aussehen:

Delphi-Quellcode:
procedure Tmain.Button2Click(Sender: TObject);
var Reg: TRegistry;
    a: Boolean;
begin
if config.CheckBox1.Checked :=TRUE then
  begin
    Reg := TRegistry.Create;
    Reg.Rootkey := HKEY_CURRENT_USER;
    Reg.OpenKey('\SOFTWARE\',true);
    a := Reg.DeleteKey('MySQL_Tool');
    Reg.Free;
    Application.Terminate;
  end
else Application.Terminate;
end;

Andreas L. 28. Jul 2003 11:05

Re: TRegistry:DeleteKey
 
Danke an euch alle. es geht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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