0

出于某种原因,每个将 Flash Player 升级到最新版本 (10,0,32,18) 的人都会立即开始遇到我的应用程序问题。根据我的日志, LocalConnection.connect() 失败了。唯一记录在案的原因是机器上运行的另一个 SWF 正在使用该名称。但是,我不知道其他人正在使用该名称(我每次都生成一个唯一的名称,并且我的机器上没有运行其他 SWF)。

该代码在更新之前运行良好,但在更新之后它每次都会中断。但是,我找不到任何信息表明 LocalConnection 的工作方式有任何计划的更改会导致这种情况。

看起来 LocalConnection 已针对此更新进行了更改,但仅适用于 Mac,并且应该完全向后兼容(我看到的问题是在 Windows 上。还没有 Mac 来测试它)。

有没有其他人看过这个?到目前为止,我还无法在简单的测试用例中重现它,但它在我的应用程序中是 100% 一致的。

关于问题可能是什么的任何想法?

4

1 回答 1

0

找到了解决办法。

在我的代码中,我有一个扩展 LocalConnection 的类,它将在构造时连接。在其构造函数中,它调用:

super.connect(name);

将其更改为:

this.connect(name);

修复了问题(我的班级没有覆盖连接方法)。

我很高兴这修复了它,但我有点担心是修复。由于我的班级没有覆盖 connect() 方法,我希望 super.connect() 和 this.connect() 是等价的。直到 Flash 播放器的最新更新。这打破的事实对我来说意味着在播放器的继承处理中的某个地方引入了一个错误。令人担忧。

感谢http://brendyn.com/blog/?p=80&cpage=1#comment-24提出修复建议。

于 2009-09-03T20:37:54.450 回答