Hmm..
Delphi-Quellcode:
procedure Registry_lesen;
var
reg : TRegistry;
begin
reg := TRegistry.Create;
try
reg.Rootkey := HKEY_CURRENT_USER;
if reg.OpenKey('Software\Windaxlg',True) then begin
if reg.ValueExists('Win1') then test.str_1 := reg.ReadString('Win1') else test.str_1 := '';
if reg.ValueExists('Win2') then test.str_2 := reg.ReadString('Win2') else test.str_2 := '';
if reg.ValueExists('Win3') then aufrufe := reg.ReadInteger('Win3') else aufrufe := 0;
if reg.ValueExists('Win4') then test.Tage := reg.ReadInteger('Win4') else test.Tage := 0;
if reg.ValueExists('Win4') then test.str_4 := reg.ReadString('Win4') else test.str_4 := '';
end;
finally
reg.Free;
end;
end;
ungetestet hingedaddelt.
Wieso nicht
if reg.OpenKey('Software\Windaxlg',False) then begin
Bei Verwendung von false wird dann von OpenKey auch ein false zurück geliefert wenn dein Verzeichnis noch nicht da ist, statt ein neues (leeres) 'Windaxlg' anzulegen...
Das 'True' sollte nur zum 'schreiben' verwendet werden ...
Beim 'Lesen' wird so nicht versucht Werte aus einem leeren Verzeichnis zu lesen..