以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  报告一个关于读注册表的bug  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=24636)

--  作者:Fotable
--  发布时间:2012/10/18 22:33:00
--  报告一个关于读注册表的bug
从注册表中读取值,语法:

GetValue(keyName ,valueName ,DefaultValue)

keyName:   要读取的项的名称
ValueName:要读取的值的名称
defaultValue:默认值,如果不存在指定名称的项或值,则返回此默认值

 

这个getvalue函数中提到 defaultValue:默认值,如果不存在指定名称的项或值,则返回此默认值

按照理解 不管注册表中有没有建这个这个项目,只要指定了默认值,如果读取失败了,我就返回默认值。

但实际运用当中发现 如果没有建立这个项目 不会返回任何值,

 

比如

你执行以下 output.show(Registry.GetValue("HKEY_CURRENT_USER\\Software\\FrSoft\\set","autoUpdate",1))

不管你的注册表 有没有建立这些项目,按照设计者的意图 最后的得到 autoupdate 都应该是1.

实验结果没有返回任何值。


--  作者:有点甜
--  发布时间:2012/10/18 22:37:00
--  
这应该是.net 的bug
--  作者:lin_hailun
--  发布时间:2012/10/19 9:10:00
--  
 确实没有返回默认值……不过暂时不影响使用。
--  作者:Fotable
--  发布时间:2012/10/19 10:35:00
--  

对我发布的程序产生了问题,我发布的客户端本来是能自动升级的,但就是因为这个判断 ,所有的客户端都不自动升级

找了半天,原来是这个bug的原因


--  作者:lin_hailun
--  发布时间:2012/10/19 10:44:00
--  
以下是引用Fotable在2012-10-19 10:35:00的发言:

对我发布的程序产生了问题,我发布的客户端本来是能自动升级的,但就是因为这个判断 ,所有的客户端都不自动升级

找了半天,原来是这个bug的原因


呃,感觉楼主应该要测试一下自动更新的功能再交给客户的嘛。

--  作者:Fotable
--  发布时间:2012/10/19 10:47:00
--  

我自己是测试了的,但就是没有找新的电脑测试。

 


--  作者:lin_hailun
--  发布时间:2012/10/19 10:51:00
--  
 存在分支,要各个可能都测试一下。比如,如果不存在这项的时候,应该没有测试到吧。

 特别是自动更新功能(这个更不能马虎)
[此贴子已经被作者于2012-10-19 10:52:27编辑过]

--  作者:Fotable
--  发布时间:2012/10/19 10:56:00
--  
这倒是呀,我们现在也相当于在帮foxtable测试软件嘛