|
|
今天,又做了4个小时左右的测试,心疼时间啊,希望紫光的开发组明白,再喜爱你们的客户,耐心也是有限的。。。
我的系统是,Windows XP professional SP3.
发现的主要疑点是:
1、不能清空用户词组,正如我上面的图示。
2、已有的词组,能够按照输入,调整出现顺序。
3、同一系统中,另外一个用户,一切正常。异常的用户名是中文名字,正常的用户名字中是全英文。
每次重新安装后,如果不启动,一切正常。(完全正常安装,没有导入任何用户词库,或者引入新的词典)
我查看 user.uwl(省略目录),大小和长度也在变化中(有一点延时),跟随我的输入。
当我清空用户词组的时候,user.uwl会立刻长度变为 4KB左右,词库管理中,用户词库的词条数也变为0。
一旦,重新启动后,Bug回来了,不能记住输入的新词。
实际上,在 wordlib目录中,user.uwl的长度和时间就不再变化了,但是 ci_cache.dat还是会随着输入而变化(文件时间)。
在这种情况下,有一个特殊办法,能够短暂恢复词组记忆。(所谓短暂,就是,重新启动后,又恢复Bug情况了。)
这个方法,可以遵循如下顺序:
1. 删除 wordlib 目录下的 user.uwl
2. 进入词库管理,清空用户词库(此时,清空用户词库可以成功)。user.uwl长度会变为 3KB左右,显示的词条数也变为0了。但是,依然记不住输入的新词。
3. 注销当前用户,重新登录一次。(不能重启)
4. 一切正常了,能够记住新词了,user.uwl 也随着输入的新词而变化。
5. 一旦重新启动 windows,Bug依旧。
古怪啊!
windows的输入法架构,我不是很熟悉,以下只是简单的分析,如有差错,敬请原谅。
紫光输入法整个系统,应该是分为两大部分,输入法本身unispim.ime模块 和 管理模块,运行的用户根本不同。
这两个模块工作在不同的进程。
从Bug现象看,似乎是两个模块对于 user.uwl 及其 cache 文件的处理,出了问题。
我猜测,可能的原因有如下几个:
1、目录路径中的中文字符。我的用户名是中文,可能存在问题?(unicode)
2、windows权限管理问题。windows XP professional启用了严格的用户权限管理,是否这个原因?
3、运行两个模块的用户不同,因此他们操作的user.uwl 实际上是不同的!是不是处在不同的目录中?所谓鸡同鸭讲,所以出错?或者,某种原因,user.uwl打开失败,句柄已经失效了,但程序继续运行。
4、内部 code bug.
对于第一个可能原因,我做了如下的测试。
我找了另外一台笔记本,相同的OS,但是并没有启用严格的用户权限管理。
在这台机器上,紫光所有版本都工作正常。
我又建立了一个中文名字的用户,初步的测试,也是正常的。
对于第二个原因,我尝试了各种方式,增加这个目录和user.uwl的权限,也是无用。不过,我的测试都是初步,没有进一步的精确测试。
第三个、第四个原因,没有办法测试。
拜托了,希望这个测试报告有用,能够解决这个问题。
我已经花了足够多的时间了,心疼啊。
我还想说的一句话:
紫光是一个商业软件,优秀、可靠是本钱,脱离了这些,用户根本不会有任何的喜爱!情感代替不了质量。
以上言辞,如有唐突,敬请谅解。
|
|