如何在Flex中修补或覆盖swc类?

时间:2011-02-23 20:39:05

标签: flash flex actionscript-3 swc monkeypatching

我正在使用Axiis项目中的swc来显示我正在进行的项目中的可视化。我遇到了一个错误,重新编译库swc将是一个简单的解决方案,但我只能使用swc的错误版本。

我有Axiis源代码并编译了修复了错误的版本,但由于客户端版本的限制我不允许使用它。

有谁知道如何在我的代码中使用更新的Actionscript类/文件,以便覆盖swc类?

1 个答案:

答案 0 :(得分:4)

我不确定您是否被允许执行以下操作:将包含修复的类放在主应用程序的源路径中。如果确保包和类名与原始类完全匹配,编译器将选择此类而不是库中的类。当我们想要修补Flex框架而不必自己编译库时,我们经常这样做。

另一个想法可能是使用AS3Commons-Bytecode创建要修复的类的代理,然后让代码在代理上而不是原始实例上工作。这是一个纯运行时修复程序。它有点高级,它只有在你能以某种方式获取代理来替换你需要修复的类的原始实例时才会起作用。