Hi,
I made a test.
In RegEdit: Computer\HKEY_CURRENT_USER\SOFTWARE\FPCTEST\Foldertest
There created Folders (type REG_MULTI_SZ)
Folders contains 3 strings.
Using this code:
var
R: TRegistry;
B: Boolean;
SL: TStringList;
i: Integer;
S: String;
begin
R := TRegistry.Create(KEY_READ);
SL := TStringList.Create;
try
R.RootKey := HKEY_CURRENT_USER;
B := R.OpenKeyReadOnly('Software\FPCTEST\Foldertest');
Assert(B,'OpenKey failed.');
B := R.ValueExists('Folders');
writeln('ValueExists(''Folders'')=',B);
R.ReadStringList('Folders',SL);
writeln('Read Folders:');
writeln('SL.Count: ',SL.Count);
for i := 0 to SL.Count-1 do writeln(i:2,': ',SL[i]);
finally
SL.Free;
R.Free;
end;
end.
This outputs:
C:\Users\Bart\LazarusProjecten\bugs\Console\registry>multi
ValueExists('Folders')=TRUE
Read Folders:
SL.Count: 3
0: Folder0
1: Folder1
2: Folder2
Fpc 3.2.2-win32 on Win10.
Notice that a REG_MULTI_SZ entry is a
Value, not a Key, hence KeyExists is the wrong call here, you must use
ValueExists.
Bart