VerifyError: Error #1107: ABC 数据已损坏,尝试的读取操作超出范围

VerifyError: Error #1107: ABC 数据已损坏,尝试的读取操作超出范围  

 项目中,出现报错: VerifyError: Error #1107: ABC 数据已损坏,尝试的读取操作超出范围?问题出现在执行TweenMax 操作出现的,项目中有很多模块在运行期载入swf功能模块,每个swf都是相对独立的程序,载入主程序中做为功能模块,这样主程序中很多功能可以由很多个swf组成,由不同的人员去开发,这是模块开发的一点好处。模块也有很多问题的,上面的报错大都是由于这类开发模式所带来的直接成果。相对一个独立开发的人程序员来说,这种问题很难会遇到 。flash 的abc文件,并不陌生,在使用第三方SWC类库或导出为SWC库为,flex(flash builder)所用时,在引用的SWC类库可以查看到SWC其内部的元素及结构,里面的很多as文件被编译成了*.abc文件,这个abc文件就是flash player 虚拟机可以直接执行的二进制文件。那出现这个:VerifyError: Error #1107: ABC 数据已损坏,尝试的读取操作超出范围错误,就不难理解是TweenMax 这个as类的二进制.abc 文件的完整性及同一个TweenMax的文件的MD5值不一样出的问题了。 SO: a.swf b.swf c.swf 这三个swf文件同时使用了TweenMax类,也同时在main.swf 里面,如果a b c 使用不同版本的TweenMax。在Main.swf 里面没有用到或运行到TweenMax,此时会报错:VerifyError: Error #1107: ABC 数据已损坏,尝试的读取操作超出范围。?说了这么多,问题就在a b c 里使用了不同版本的TweenMax,并且Main.swf 里面没有使用到或运行过TweenMax,flash player 虚拟机无法决定使用哪个版本的TweenMax。 解决这个错误,只要在Main.swf使用一下TweenMax,这样后来加载进来的a b c 就都会使用在Main.swf里使用的那个tweenMax.其二:就是要保证 a b c 或后来再有d e f 等使用TweenMax的同一个。

 

引用自  SIX4 的微博。

实际项目中用TweenLite 替换掉了TweenMax ,问题解决

转载于:https://www.cnblogs.com/hg-blog/p/3912065.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值