Ruby2.0比之前的1.8.6版本有了大幅的功能增强和自由度的提升,但同时也带来了新的问题。 我们在3月份向官方报告的《SketchUp 2014 Windows 版本 Ruby2.0 标准库搜索路径Bug》(链接:http://www./thread-95332-1-1.html),已于6月份发布的SketchUp的最新版本14.1.1282得到修复,解决了Ruby2.0的核心问题。 本次我们经过大量测试和排查,最终锁定的SketchUp程序Bug,也是由于升级Ruby2.0而引起,问题仅限Windows系统的SketchUp 2014版本。 表现为:Zlib数据压缩模块调用路径优先级错误,引起特殊情况下在SketchUp启动时出现“Error: 127”报错,从而影响Ruby插件运行。 Zlib模块(zlib data compression library:http://www./)是Ruby2.0标准库接口中用于实现数据压缩的一个dll库文件,文件位于SketchUp目录下 \Tools\RubyStdLib\platform_specific\zlib1.dll,版本为1.2.7。 正常情况下,SketchUp启动时将调用以上路径的dll文件,供Ruby插件使用。 然而,当Windows的系统路径下(32位系统为:C:\Windows\System32\,64位系统为:C:\Windows\SysWOW64\)同时存在同名dll文件时,SketchUp将错误的优先调用系统路径下的zlib1.dll。一旦该文件版本过旧或者编译不完整,就会在SketchUp启动时弹出如下图的Error:127报错,并停止加载Ruby插件。 这样的特殊情况,我们发现常出现于一些Ghost系统以及个别软件(目前所知有“工行网银助手”)安装之后,Windows系统路径下的zlib1.dll文件随即对SketchUp产生如上所述的影响。 解决办法比较简单,可以直接删除Windows系统路径下的zlib1.dll,或者更换zlib1.dll为适配于SketchUp2014的新版本文件。 不过需要彻底解决Bug有待SketchUp开发团队修复程序。 以上SketchUp程序Bug,会使所有使用Zlib模块的Ruby插件引起报错而停止载入。目前所知受影响的插件包括由双鱼和麦兜开发的SUAPP(网址链接)以及TIG开发的ZipUp(网址链接)等等。 为方便“SketchUp吧”吧友们快速解决Error:127报错的问题,我们制作了一键修复补丁! 考虑到防止修复处理后产生的其他意外影响,本补丁可以随时在控制面板中卸载,恢复原来状态。 使用中出现的问题请与我们联系,以便我们对修复补丁进行改进和完善。 |
|