![]() |
TRegistry (wert schreiben)
Hi,
hab schon die suche benutzt und alles gelesen, bei den anderen gehts wohl, bei mir irgendwie nicht...ich fang gerade erst mit dem registry an weil ich meine inis weghaben will, mein Test sah so aus:
Delphi-Quellcode:
ich erhalte beim ausführen immer den fehler...
procedure TForm1.Button2Click(Sender: TObject);
var Reg: TRegistry; begin Reg.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('GCC\TSChat', false); Reg.WriteString('bla', 'test'); Reg.CloseKey; Reg.Free; end; ![]() "Registry" ist mit in den uses mfg |
Re: TRegistry (wert schreiben)
Kann es sein, dass Dir die rechte fehlen, in diesem Bereich der Registry Daten zu ändern/zu schreiben. Versuche mal unter
Code:
...:cat:...
Reg.RootKey := [color=#ff0019]HKEY_CURRENT_USER[/color];
Reg.OpenKey('[color=#f60000]Software\[/color]GCC\TSChat', false); |
Re: TRegistry (wert schreiben)
wenn ich es so abändere wie von dir beschrieben, bekomme ich folgenden fehler:
![]() Admin Rechte hab ich 100% hab ich sonst noch was falsch? Danke für die hilfe |
Re: TRegistry (wert schreiben)
Existiert der Schlüssel denn überhaupt schon? Wenn nicht, dann wäre
Code:
die Lösung. Und ein schöner try-finally-Block ist auch nicht zu unterschätzen!
Reg.OpenKey('Software\GCC\TSChat',[color=red]true[/color]);
|
Re: TRegistry (wert schreiben)
versuchs mal so:
Delphi-Quellcode:
var
Reg: TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('GCC\TSChat', true); Reg.WriteString('bla', 'test'); Reg.CloseKey; reg.free; |
Re: TRegistry (wert schreiben)
Und wieder kein try-finally. :(
|
Re: TRegistry (wert schreiben)
Quatsch :mrgreen: der Fehler liegt ganz wo anders...
Code:
...:cat:...
// aus
Reg.Create // wird [color=#ff0000]Reg := TRegistry.Create;[/color] P.S. the master hat die Lösung auch in seiner versteckt ;-) |
Re: TRegistry (wert schreiben)
hab das so mal getestet:
Delphi-Quellcode:
immernoch ein except fehler
procedure TForm1.Button2Click(Sender: TObject);
var Reg: TRegistry; begin Reg.Create; Reg.RootKey := HKEY_CURRENT_USER; Reg.OpenKey('SOFTWARE\GCC\TSChat', true); Reg.WriteString('jo', 'test'); Reg.CloseKey; Reg.Free; end; also der ordner in HKEY_CURRENT_USER ist "Software\GCC\TSChat" rechts im fenster wenn der ordner "TSChat" markiert ist, ist nur (Standard) da. Also ich will einen neuen Key schreiben, aber geht irgendwie nicht :?: |
Re: TRegistry (wert schreiben)
Jup jetzt gehts, danke @Sakura,Mthias,the_master.
es war das mit dem Create. Kann ich irgendwie prüfen ob ein wert bereits exisitert oder nicht existiert, und wenn nicht dann einen neuen erstellen? |
Re: TRegistry (wert schreiben)
hab schon danke
|
Re: TRegistry (wert schreiben)
Hallo ihr da draußen *g*
Ich habe ein ähnliches Problem, wie das oben im Thread beschrieben. Habe mich mit meinen simplen Grundkenntnissen durch die Hilfe geackert und versucht, eine neue Zeichenfolge zu erstellen. Das ging noch, auch einen Binärwert habe ich hingebracht. Aber einen DWORD-Eintrag, den ich leider im Gegensatz zu den anderen beiden, brauche, will mir Delphi nicht gewähren. Probiert habe ich schon "createRegKey", das war aber völlig falsch *g* Von einem Freund habe ich mir sogar eine Funktion schreiben lassen, um den Hex-Wert in Dezimal umzuwandeln, aber wie rufe ich DWORD auf bzw. ändere Einträge? MfG |
Re: TRegistry (wert schreiben)
DWORD ist eigentlich das gleiche, wie ein Integer. Daher sollte dir WriteInteger helfen.
Chris |
Re: TRegistry (wert schreiben)
Zitat:
|
Re: TRegistry (wert schreiben)
Bin leider noch nicht zum Ausprobieren gekommen, aber was bedeutet das "try" und "finally"?
|
Re: TRegistry (wert schreiben)
try heißt "versuchen", finally "ausführen, egal ob der Versuch erfolgreich war oder nicht". Das Praktische daran ist, dass die Anweisungen im finally-Block auch dann ausgeführt werden, wénn es im Try-Block zu einer Excepption kommt, die eigentlich die Ausführung des weiteren Codes verhindern würde. So kann man Speicherlecks verhindern.
Schau dir dazu auch mal die OH an. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 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