mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 20:09:23 +02:00
* Patch from Bart Broersma to fix bug ID #36809
git-svn-id: trunk@44429 -
This commit is contained in:
parent
b96109727c
commit
20749e1ee2
@ -341,7 +341,7 @@ var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
Result:=nil;
|
Result:=nil;
|
||||||
if GetKeyInfo(Info) then
|
if GetKeyInfo(Info) and (Info.NumSubKeys > 0) then
|
||||||
begin
|
begin
|
||||||
dwLen:=Info.MaxSubKeyLen+1;
|
dwLen:=Info.MaxSubKeyLen+1;
|
||||||
GetMem(lpName,dwLen*SizeOf(WideChar));
|
GetMem(lpName,dwLen*SizeOf(WideChar));
|
||||||
@ -352,6 +352,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
dwLen:=Info.MaxSubKeyLen+1;
|
dwLen:=Info.MaxSubKeyLen+1;
|
||||||
lResult:=RegEnumKeyExW(CurrentKey,dwIndex,lpName,dwLen,Nil,Nil,Nil,Nil);
|
lResult:=RegEnumKeyExW(CurrentKey,dwIndex,lpName,dwLen,Nil,Nil,Nil,Nil);
|
||||||
|
if lResult=ERROR_NO_MORE_ITEMS then
|
||||||
|
Break;
|
||||||
if lResult<>ERROR_SUCCESS then
|
if lResult<>ERROR_SUCCESS then
|
||||||
raise ERegistryException.Create(SysErrorMessage(lResult));
|
raise ERegistryException.Create(SysErrorMessage(lResult));
|
||||||
if dwLen=0 then
|
if dwLen=0 then
|
||||||
@ -381,7 +383,7 @@ var
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
Result:=nil;
|
Result:=nil;
|
||||||
if GetKeyInfo(Info) then
|
if GetKeyInfo(Info) and (Info.NumValues > 0) then
|
||||||
begin
|
begin
|
||||||
dwLen:=Info.MaxValueLen+1;
|
dwLen:=Info.MaxValueLen+1;
|
||||||
GetMem(lpName,dwLen*SizeOf(WideChar));
|
GetMem(lpName,dwLen*SizeOf(WideChar));
|
||||||
@ -391,6 +393,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
dwLen:=Info.MaxValueLen+1;
|
dwLen:=Info.MaxValueLen+1;
|
||||||
lResult:=RegEnumValueW(CurrentKey,dwIndex,lpName,dwLen,Nil,Nil,Nil,Nil);
|
lResult:=RegEnumValueW(CurrentKey,dwIndex,lpName,dwLen,Nil,Nil,Nil,Nil);
|
||||||
|
if lResult=ERROR_NO_MORE_ITEMS then
|
||||||
|
Break;
|
||||||
if lResult<>ERROR_SUCCESS then
|
if lResult<>ERROR_SUCCESS then
|
||||||
raise ERegistryException.Create(SysErrorMessage(lResult));
|
raise ERegistryException.Create(SysErrorMessage(lResult));
|
||||||
if dwLen=0 then
|
if dwLen=0 then
|
||||||
|
Loading…
Reference in New Issue
Block a user