Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Kann Registry-Werte nicht auslesen! (https://www.delphipraxis.net/44877-kann-registry-werte-nicht-auslesen.html)

Mattin 26. Apr 2005 11:59

Re: Kann Registry-Werte nicht auslesen!
 
Hallo,

versuchs mal so... vielleicht klappt das ja.

Delphi-Quellcode:
begin
    regist := TRegistry.Create(KEY_READ);
    try
      regist.RootKey := HKEY_CURRENT_USER;
      if regist.OpenKeyReadOnly('Software\meinprog') then
      begin
        if i = 1 then result := regist.ReadString('work-dir') + 'start.ini';
        if i = 2 then result := regist.ReadString('work-dir');
        if i = 3 then result := regist.ReadString('work-dir') + 'button_1.ini';
        if i = 4 then result := regist.ReadString('work-dir') + 'button_2.ini';
      end else ShowMessage('Schlüssel nicht vorhanden !');
     finally
      regist.Free;
     end;

bigg 26. Apr 2005 11:59

Re: Kann Registry-Werte nicht auslesen!
 
mahlzeit,
ich habe dein Beispiel mal umgestellt:

Delphi-Quellcode:
function TForm1.GetPath(i: Integer): String;
  var Reg: TRegistry; Path: String;
  const wk = 'work-dir';
  begin
    Path := '';

    Reg := TRegistry.Create;
      try Reg.RootKey := HKEY_CURRENT_USER;

          if Reg.OpenKey('Software\meinprog', False) then
          begin // wenn der Schlüssel geöffnet werden kann (ohne ihn vorher anzulegen), dann:

          // gib mir über i den Pfad
          case i of // 1-4: nur wenn ein Schlüssel existiert wird er gelesen
          1: if Reg.ValueExists(wk + 'start.ini') then Path := Reg.ReadString(wk + 'start.ini');
          2: if Reg.ValueExists(wk) then Path := Reg.ReadString(wk);
          3: if Reg.ValueExists(wk + 'button_1.ini') then Path := Reg.ReadString(wk + 'button_1.ini');
          4: if Reg.ValueExists(wk + 'button_2.ini') then Path := Reg.ReadString(wk + 'button_2.ini');
          end;

          Reg.CloseKey; // Schlüssel schließen, da er geöffnet wurde
          end;

      finally Reg.Free; // Reg freigeben
      end;

    Result := Path;
  end;

mumu 26. Apr 2005 12:02

Re: Kann Registry-Werte nicht auslesen!
 
schau mal was für zugriffsrechte du hast

Reg := TRegistry.Create;
Reg.Access = ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr.
Seite 2 von 2     12   

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