出于某种原因,将Flash Player升级到最新版本(10,0,32,18)的每个人都会立即开始使用我的应用程序。根据我的日志记录,LocalConnection.connect()失败。唯一记录的原因是机器上运行的另一个SWF正在使用该名称。但是,我知道其他任何东西都没有使用该名称(我每次都会生成一个唯一的名称,而且我的机器上没有其他SWF正在运行。)
代码在更新之前工作得非常好,但在更新之后它每次都会中断。但是,我找不到任何信息表明对LocalConnection的工作方式有任何计划的更改会导致此问题。
看起来LocalConnection已经针对此update进行了更改,但仅适用于Mac,并且应该完全向后兼容(我看到的问题是在Windows上。没有mac测试它。)
有没有人见过这个?到目前为止,我还没有能够在简单的测试用例中重现它,但它在我的应用程序中是100%一致的。
关于问题可能是什么的任何想法?
答案 0 :(得分:0)
找到了解决办法。
在我的代码中,我有一个扩展LocalConnection的类,它将在构造时连接。在它的构造函数中,它调用:
super.connect(name);
将此更改为:
this.connect(name);
解决了问题(我的类没有覆盖连接方法)。
我很高兴修复它,但我有点担心这个是修复。由于我的类没有覆盖connect()方法,我希望super.connect()和this.connect()是等价的。直到他们最新的Flash播放器更新。事实上,这破坏了我在播放器的继承处理中某处引入了一个错误。 Worrysome。