Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Registry Werte beim starten auslesen klappt nicht (https://www.delphipraxis.net/15165-registry-werte-beim-starten-auslesen-klappt-nicht.html)

Helpliner 23. Jan 2004 06:43


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:
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;
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?

Pseudemys Nelsoni 23. Jan 2004 06:48

Re: Registry Werte beim starten auslesen klappt nicht
 
daran ist nichts falsch, bist du sicher das der pfad richtig ist?

Pseudemys Nelsoni 23. Jan 2004 06:55

Re: Registry Werte beim starten auslesen klappt nicht
 
also ich habs nochmal getestet:

Delphi-Quellcode:
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;
funktioniert einwandfrei

Helpliner 23. Jan 2004 07:02

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:
   reg.OpenKey('Software\Fischmob\Flotteninformationen\0.1 beta', true);
- Die in der Registrierung stehenden werte werden nicht eingetragen, sondern nur Nullen (Die Werte stehen aber noch in der Registrierung).
- Beenden des Programmes, Werte in der Registrierung werden mit Nullen überschrieben......und ich habe keine Ahnung wieso.

Pseudemys Nelsoni 23. Jan 2004 07:03

Re: Registry Werte beim starten auslesen klappt nicht
 
die unit1.pas/unit1.dcu brauch ich schon :mrgreen:

Helpliner 23. Jan 2004 07:07

Re: Registry Werte beim starten auslesen klappt nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
ups...war das falsche Projektverzeichniss :-(

Pseudemys Nelsoni 23. Jan 2004 07:12

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

BrinkschulteManfred 23. Jan 2004 07:19

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

Helpliner 23. Jan 2004 07:25

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) ?

MathiasSimmack 23. Jan 2004 08:25

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 21:17 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz