Moin Thomas,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS.
Ich habe den Code mal etwas überarbeitet:
Delphi-Quellcode:
var
regist : TRegistry;
begin
regist:= TRegistry.Create;
try
regist.RootKey:= HKEY_LOCAL_MACHINE;
if regist.OpenKeyReadOnly(registPfad+'\Datenbank') then begin
try
if length(regist.ReadString('Pfad_DB')) = 0 then begin
MessageDlg('HKEY_LOCAL_MACHINE Lesefehler! Die Default Einstellungen werden gesetzt.',mtError,[mbOk],0);
PfadDB:= defaultDB;
end else begin
PfadDB:= regist.ReadString('Pfad_DB');
end;
finally
regist.CloseKey;
end;
end else begin
ShowMessage('OpenKey fehlgeschlagen');
end;
ShowMessage(PfadDB);
finally
regist.Free;
end;
end;
Man sollte immer sicherstellen, dass belegte Resourcen auch wieder freigegeben werden, deshalb try/finally beim Create und OpenKey.
Da OpenKeyReadOnly den Erfolg meldet (ich hoffe auch in D4
), sollte man dass auch benutzen.
Wenn es fehlschlägt, dann prüf' mal was passiert, wenn Du den \ am Beginn des Pfades weglässt.