【问题标题】:Unable to reload the swf again in my flex applicaion (AIR)无法在我的 flex 应用程序(AIR)中再次重新加载 swf
【发布时间】:2026-01-15 18:30:01
【问题描述】:

在我的 flex 应用程序中,我将 titleWindow 显示为弹出窗口,它有一个 swfLoader 并加载一个 swf 文件。我的应用程序和加载的 swf 文件在 LocalConnection 的帮助下进行通信。这是流程。

  1. 当弹出窗口打开时,我创建了一个连接。

    连接:LocalConnection = new LocalConnection(); 连接.客户端=这个; connection.connect('ApplicationConnection');

  2. 然后我加载 swf。 (这个 swf 里面有一个计时器。在它的每一个滴答声上,我都会打印一个痕迹)。

    swfLoader.source = '路径/到/文件';

    然后当我尝试关闭弹出窗口时,它的关闭事件处理程序会执行以下操作

  3. 卸载并停止 swf。

    swfLoader.unloadAndStop(true);

  4. 断开连接。

    connection.close();

毕竟,在我的跟踪中,我仍然可以看到 swf 计时器正在运行(因为其中的跟踪一直在打印)。如果我尝试再次打开弹出窗口,它会在连接时在第一步引发错误。它说它无法连接,因为对象已经连接。这是 swf 卸载或连接关闭或两者兼而有之的问题吗?请帮助我解决这个问题。

【问题讨论】:

    标签: actionscript-3 flex4


    【解决方案1】:

    建议:尝试向您的 SWFLoader 添加“卸载”事件侦听器,以查看它是否真的卸载。

    【讨论】: