![]() |
Registry Autostart problem
Delphi-Quellcode:
Was zum Teufel ist daran falsch? :) Macht bei mir immer einen Fehler beim Setzen der Value für Programmname
procedure TForm1.Button1Click(Sender: TObject);
var regist:TRegistry; begin regist.RootKey := HKEY_CURRENT_USER; regist.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true); Try regist.WriteString('Programmname', 'c:\Programm.exe'); finally regist.CloseKey; regist.Free; end; end; |
Re: Registry Autostart problem
wo erstellst du die instanz dazu?
regist.free hab ich ja gefunden aber wo ist das regist := TRegistry.Create....? |
Re: Registry Autostart problem
Was für einen Fehler? Fehler gibt es viele. :roll:
Das einzige, was ich sehe: Wo erstellst du dein TRegistry-Objekt? |
Re: Registry Autostart problem
versuche es mal so
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var regist:TRegistry; begin regist := TRegistry.Create(); Try regist.RootKey := HKEY_CURRENT_USER; regist.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true); regist.WriteString('Programmname', 'c:\Programm.exe'); regist.CloseKey; finally regist.Free; end; end; hier bitte ich dein augenmerk mal auf die zeile "regist := TRegistry.Create();" zu richten ps Luckie 18:03 SirThornberry 18:03 Homer 18:05 ich werde langsam alt |
Re: Registry Autostart problem
wusste doch ich hab was übersehen ;) jaja sowas passiert wenn man so ein schmarn den ganzen tag macht ;)
|
Re: Registry Autostart problem
Zitat:
Delphi-Quellcode:
regist := TRegistry.Create; // was soll der Quark mit ()?
if(regist <> nil) then try regist.RootKey := HKEY_CURRENT_USER // "OpenKey" ist eine Funktion! // Niemand garantiert, dass der Schlüssel geöffnet oder // erzeugt werden kann. Darum wäre es zweckmäßig, den // Code davon abhängig zu machen, das "OpenKey" // erfolgreich war (= true) if(regist.OpenKey('bla bla',true)) then try // im Fehlerfall löst "WriteString" eine Exception // aus (s. Delphi-Hilfe) regist.WriteString('bla','bla'); // durch diesen try/finally-Block wird wenigstens // der Reg-Schlüssel zugemacht finally regist.CloseKey; end; finally regist.Free; end; |
Re: Registry Autostart problem
[quote="MathiasSimmack"]
Zitat:
was soll der Quark mit ()? quote] sorry TRegistry.Create(KEY_READ) |
Re: Registry Autostart problem
Zitat:
Delphi-Quellcode:
mit ziemlicher Sicherheit fehlschlagen dürfte. ;)
regist.WriteString('Programmname', 'c:\Programm.exe');
|
Re: Registry Autostart problem
Ich denke, das sind schlechte (?) Angewohnheiten. Delphi-Code sieht nicht cooler aus, wenn man Funktionen oder Prozeduren ohne Parameter mit leeren Klammern schmückt. Das macht bei C und Co. Sinn. Aber nicht bei Delphi.
|
Re: Registry Autostart problem
womit du sicher recht hast :oops:
KEY_READ beim lesen nicht schreiben sollte ich mir auch mal zu herzen nehmen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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