![]() |
Registry KeyExists function AddressVilation
hallo DP,
Um zu prüfen ob ein eintrag ein einer TreeView liste schon existiert oder nicht benütz ich die registry weil ich es anderst nicht hinbekomme. Da hab ich mir eine kleine function geschrieben, hier:
Delphi-Quellcode:
Hab ich aufgerufen mit:
function RegExists(Entry: String): boolean;
var regist: TRegistry; begin result := false; regist.Create; regist.RootKey := HKEY_LOCAL_MACHINE; if regist.KeyExists('Software\phpbb_manager\Server'+Entry) then result := true; end;
Delphi-Quellcode:
Ich verstehe nicht wieso dor eine addressViolation kommt, habs auch schon versucht indem ich zuerst "OpenKey" mache, ging aber auch nicht :(
procedure TForm2.AddServerBtnClick(Sender: TObject);
var Ibox: String; begin Ibox := Inputbox('Add new server', 'Enter name of the new server:', ''); if not RegExists(Ibox) then //if not (Ibox = '') then ServerView.Items.AddChild(nil, Inputbox('Add new server', 'Enter name of the new server:', 'New server')); {Und hier eben noch den registry-eintrag machen} end; Ich hoffe ich könnt mir helfen danke im vorraus :) |
Re: Registry KeyExists function AddressVilation
Hi,
du solltest statt "regist.create" schreiben:
Delphi-Quellcode:
Gruß
regist := TRegistry.Create;
try ...dein Code... finally regist.Free; end; Michael |
Re: Registry KeyExists function AddressVilation
Delphi-Quellcode:
:shock:
regist.Create;
Delphi-Quellcode:
Und der Tipp mit dem try-finally-Block ist auch nicht verkehrt ;)
regist := TRegistry.Create;
|
Re: Registry KeyExists function AddressVilation
ay ay ay.
Ich immer mit meinen leichtsinnsfehler :oops: Jop danke noch für the try - finally tipp, gleich mal hinzugefügt. 8) Vielen dank :) |
Re: Registry KeyExists function AddressVilation
Und wenn du schon mal dabei bist, kannst du das result auch nur einmal schreiben
Delphi-Quellcode:
result := regist.KeyExists('Software\phpbb_manager\Server'+Entry);
|
Re: Registry KeyExists function AddressVilation
Und wenn du schon mal dabei bist, könntest du das ganze auch ohne Admin-Rechten lauffähig machen, in dem die den Schlüssel nur lesend öffnest mit TRegistry.Create(KEY_OPENREAD).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 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