![]() |
Registry Werte beim starten auslesen klappt nicht
Hallo Leute,
ich habe eine kleine Frage. Ich benutze folgenden Code um Daten aus der Registry auszulesen, ich benutze dafür die OnClick Routine eines MainMenu eintrages:
Delphi-Quellcode:
weil ich aber eigentlich einen klick sparen wollte da die Daten sowieso bei jedem Programmstart gelesen werden sollen, habe ich den identischen Code in das OnCreate Ereigniss von Form1 gesetzt, sobald ich dann das Programm starte werden keine Werte mehr gelesen und alle Werte in der Registry werden auf 0 gesetzt, wie kann das sein?
procedure TForm1.Datenholen1Click(Sender: TObject);
var reg : TRegistry; begin reg:=TRegistry.Create; reg.RootKey:=HKEY_CURRENT_USER; reg.OpenKey('Software\Fischmob\Flotteninformationen\0.1 beta', false); Edit1.Text := reg.ReadString('Typ 1'); Edit2.Text := reg.ReadString('Typ 2'); Edit3.Text := reg.ReadString('Typ 3'); Edit4.Text := reg.ReadString('Typ 4'); Edit5.Text := reg.ReadString('Typ 5'); Edit6.Text := reg.ReadString('Typ 6'); Edit7.Text := reg.ReadString('Typ 7'); Edit8.Text := reg.ReadString('Typ 8'); Edit9.Text := reg.ReadString('Typ 9'); reg.free; end; |
Re: Registry Werte beim starten auslesen klappt nicht
daran ist nichts falsch, bist du sicher das der pfad richtig ist?
|
Re: Registry Werte beim starten auslesen klappt nicht
also ich habs nochmal getestet:
Delphi-Quellcode:
funktioniert einwandfrei
procedure TForm1.Button1Click(Sender: TObject);
var reg: TRegistry; begin reg := TRegistry.Create; with reg do begin RootKey := HKEY_CURRENT_USER; if OpenKey('Software\Fischmob\Flotteninformationen\0.1 beta', false) then begin Try Edit1.Text := ReadString('Typ 1'); Edit2.Text := ReadString('Typ 2'); Edit3.Text := ReadString('Typ 3'); Edit4.Text := ReadString('Typ 4'); Edit5.Text := ReadString('Typ 5'); Edit6.Text := ReadString('Typ 6'); Edit7.Text := ReadString('Typ 7'); Edit8.Text := ReadString('Typ 8'); Edit9.Text := ReadString('Typ 9'); finally CloseKey; Free; end; end; end; end; |
Re: Registry Werte beim starten auslesen klappt nicht
Liste der Anhänge anzeigen (Anzahl: 1)
Ich glaube nicht das Tippfehler drinne sind, ich schaue da seit 5:30 drauf, aber ich häng das Projekt nochmal an, so wie es nicht funktioniert.
Nochmal zur verdeutlichung was passiert: Erster Start: - Registry Werte existieren noch nicht und werden mit dem Wert 0 erzeugt. - Ich gebe Werte in die Edits ein und beende das Progg, die Werte werden geschrieben. Zweiter Start: - Überprüfung ob der Key schon existiert über
Delphi-Quellcode:
- Die in der Registrierung stehenden werte werden nicht eingetragen, sondern nur Nullen (Die Werte stehen aber noch in der Registrierung).
reg.OpenKey('Software\Fischmob\Flotteninformationen\0.1 beta', true);
- Beenden des Programmes, Werte in der Registrierung werden mit Nullen überschrieben......und ich habe keine Ahnung wieso. |
Re: Registry Werte beim starten auslesen klappt nicht
die unit1.pas/unit1.dcu brauch ich schon :mrgreen:
|
Re: Registry Werte beim starten auslesen klappt nicht
Liste der Anhänge anzeigen (Anzahl: 1)
ups...war das falsche Projektverzeichniss :-(
|
Re: Registry Werte beim starten auslesen klappt nicht
hi Helpliner, das dürfte wohl am OnCreate liegen, die edits sind nach dem create von form1 wohl noch nicht da, machs mal im OnShow/OnActivate
|
Re: Registry Werte beim starten auslesen klappt nicht
Hast Du mal versucht, die Einträge nicht schon beim OnCreate sondern erst beim OnActivate zu lesen?
Ich hatte da mal so ein Problem. Gruß Manfred |
Re: Registry Werte beim starten auslesen klappt nicht
Besten Dank Leute, jetzt geht es......ist das denn Zufall das die Edits....tja..."langsamer" da sind als das Form.Create oder ist das eine Erstellungsreihenfolge (Erst Form, dann Items auf der Form) ?
|
Re: Registry Werte beim starten auslesen klappt nicht
Trotzdem solltest du noch mal über das try und finally nachdenken, wenn das in deinem Programm so aussieht wie in deinem Codeauszug oben. Ich gebe zu, ich habe mir deinen Anhang nicht angesehen. Vielleicht ist da ja inzwischen alles richtig.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 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