SketchUp于今年2月升级为全新的SketchUp 2014版本,也给Ruby扩展
插件开发者带来了升级后的Ruby2.0标准库接口。
Ruby2.0比之前的1.8.6版本有了大幅的功能增强和自由度的提升,但同时也带来了新的问题。
我们在3月份向官方报告的《SketchUp 2014 Windows 版本 Ruby2.0 标准库
搜索路径Bug》(链接:
http://www.sketchupbar.com/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.zlib.net/)是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报错的问题,我们制作了一键修复补丁!
考虑到防止修复处理后产生的其他意外影响,本补丁可以随时在控制面板中卸载,恢复原来状态。
使用中出现的问题请与我们联系,以便我们对修复补丁进行改进和完善。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。