AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Registry lesen

Ein Thema von oldmann · begonnen am 3. Sep 2020 · letzter Beitrag vom 4. Sep 2020
Antwort Antwort
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#1

AW: Registry lesen

  Alt 3. Sep 2020, 17:22
Was für eine Fehlermeldung erscheint da? Wie sieht der zugehörige Code aus?

Grüße
Dalai
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#2

AW: Registry lesen

  Alt 3. Sep 2020, 17:47
Hmm..

wenn Du nur zum Lesen die Reg öffnest, dann sollte Dir OpenKey(<Pfad>, False) ein 'False' zurückgeben, wenn dein Registry-Pfad nicht vorhanden ist...

Somit gehe ich von aus (mangels SourceCode), dass Du den Rückgabewert ignorierst und trotzdem versuchst mit Readxxx Werte zu Lesen..
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
161 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Registry lesen

  Alt 4. Sep 2020, 09:15
Hallo,

Hier der Code:

procedure Registry_lesen;
begin
with TRegistry.Create do
begin
try
Rootkey:=HKEY_CURRENT_USER;
if OpenKey('Software\Windaxlg',True) then
begin
test.str_1:=ReadString('Win1');
test.str_2:=ReadString('Win2');
aufrufe:=ReadInteger('Win3');
test.Tage:=ReadInteger('Win4');
test.str_4:=ReadString('Win4');
end;
finally
Free;
end;
end;
end;

Am Anfang ist der Code ja bei dem Anwender nicht vorhanden.
Er wird erst im laufe der Programmausführung gespeichert.
Daher bekomme ich bei den Integern eine Fehlermeldung.
Die Fehlermeldung lautet: „Fehler beim Holen der Daten von Win3“

Oldmann
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
161 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Registry lesen

  Alt 4. Sep 2020, 09:16
Hallo,

Hier der Code:

[GOOGLE]
Delphi-Quellcode:
procedure Registry_lesen;
begin
with TRegistry.Create do
begin
try
Rootkey:=HKEY_CURRENT_USER;
if OpenKey('Software\Windaxlg',True) then
begin
test.str_1:=ReadString('Win1');
test.str_2:=ReadString('Win2');
aufrufe:=ReadInteger('Win3');
test.Tage:=ReadInteger('Win4');
test.str_4:=ReadString('Win4');
end;
finally
Free;
end;
end;
end;
[/GOOGLE]Am Anfang ist der Code ja bei dem Anwender nicht vorhanden.
Er wird erst im laufe der Programmausführung gespeichert.
Daher bekomme ich bei den Integern eine Fehlermeldung.
Die Fehlermeldung lautet: „Fehler beim Holen der Daten von Win3“

Oldmann
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#5

AW: Registry lesen

  Alt 4. Sep 2020, 10:41
Fälschlicherweise war ich der Annahme, dass Delphi-Referenz durchsuchenTRegistry.ReadInteger keine Exception wirft. Die Doku sagt aber klar:
Zitat:
If the Registry entry does not contain an integer, an exception is raised.
Daher wird es wohl sinnvoll sein, vor jedem Read... mit TRegistry.ValueExists zu prüfen, ob der Wert vorhanden ist, und bei Nichtvorhandensein einen Standardwert zu setzen.

Unabhängig davon solltest du auf das with verzichten.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.432 Beiträge
 
Delphi 12 Athens
 
#6

AW: Registry lesen

  Alt 4. Sep 2020, 11:27
Zitat:
Unabhängig davon solltest du auf das with verzichten.
...er hat Jehova gesagt.
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
161 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Registry lesen

  Alt 4. Sep 2020, 11:58
Hallo,

wie wird das genau umgesetzt dein "TRegistry.ValueExists zu prüfen".
Ein bischen code wäre nett.
Wenn ich das "With" weglasse, funktioniert es nicht.

Oldmann
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 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