Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: reg zum Autostart schreiben

  Alt 28. Sep 2003, 16:01
Mion fkerber,

vielleicht besser so

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  Reg: TRegistry;

begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKeyReadOnly('Software\Microsoft\Windows\CurrentVersion\Run') then begin
      try
        Button1.Visible := not Reg.ValueExists('DerNameDesWertes');
      finally
        Reg.CloseKey;
      end;
    end;
  finally
    FreeAndNil(Reg);
  end;
end;
zum einen sollte man sicherstellen, dass das Objekt (Reg) auch wieder freigegeben wird, deshalb der eine try/finally Block, dann muss man auch den Key öffnen in dem man einen Wert auf Existenz prüfen will.
Und dann muss man diesen geöffneten Schlüssel auch wieder schliessen.
Da ValueExists einen boolschen Wert zurückgibt, und in Abhängigkeit des Wertes ein boolscher Wert gesetzt werden soll, kann man sich die If-Abfrage auch sparen, und den Rückgabewert direkt verwenden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat