Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 如何在Flex中修补或重写swc类?_Flash_Apache Flex_Actionscript 3_Swc_Monkeypatching - Fatal编程技术网

Flash 如何在Flex中修补或重写swc类?

Flash 如何在Flex中修补或重写swc类?,flash,apache-flex,actionscript-3,swc,monkeypatching,Flash,Apache Flex,Actionscript 3,Swc,Monkeypatching,我正在使用Axis项目中的swc来显示我正在处理的项目中的可视化效果。我遇到了一个bug,重新编译库swc将是一个简单的解决方案,但我只能使用swc的bug版本 我有Axis源代码并编译了一个版本,修复了错误,但由于客户端版本限制,我不允许使用它 有人知道我如何在代码中使用更新的Actionscript类/文件,使其覆盖swc类吗?我不确定是否允许您执行以下操作:将该类及其修复程序放在主应用程序的源路径中。如果确保包和类名与原始类完全匹配,编译器将选择该类而不是库中的类。当我们想修补Flex框架

我正在使用Axis项目中的swc来显示我正在处理的项目中的可视化效果。我遇到了一个bug,重新编译库swc将是一个简单的解决方案,但我只能使用swc的bug版本

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


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

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


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

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


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

所谓“客户端”限制,是指Flash Player中的限制吗?或受支付给您开发费用的实体的限制?如果是后者,我很震惊重新编译代码是错误的,但是猴子补丁是好的。它们只是使用相同代码的两种不同方式。一个是“正确的”,另一个是黑客。是的,一个客户一个客户付钱给我来做这个应用,而一个新版本的审查过程本身需要几个月的时间。我现在正在寻找一个黑客,直到我能得到新库的批准。hi@Flextras,我与Wa jiw一起工作,同意这是一个黑客,但有时swc会根据正在运行的测试得到我们的批准,我们不允许修改swc,但可以使用已经测试过的(即使它有bug)。我们已经尝试了Christophe的建议,但问题是被重写的代码在一个类中,而该类不是直接从应用程序引用的(问题本质上是3/4兼容性,最初的swc是为3编写的,现在在4 Axis中使用),甚至引用了修改过的类并重新编译,swc类似乎使用旧类。thxBy“客户端”限制您是指Flash播放器中的限制吗?或受支付给您开发费用的实体的限制?如果是后者,我很震惊重新编译代码是错误的,但是猴子补丁是好的。它们只是使用相同代码的两种不同方式。一个是“正确的”,另一个是黑客。是的,一个客户一个客户付钱给我来做这个应用,而一个新版本的审查过程本身需要几个月的时间。我现在正在寻找一个黑客,直到我能得到新库的批准。hi@Flextras,我与Wa jiw一起工作,同意这是一个黑客,但有时swc会根据正在运行的测试得到我们的批准,我们不允许修改swc,但可以使用已经测试过的(即使它有bug)。我们已经尝试了Christophe的建议,但问题是被重写的代码在一个类中,而该类不是直接从应用程序引用的(问题本质上是3/4兼容性,最初的swc是为3编写的,现在在4 Axis中使用),甚至引用了修改过的类并重新编译,swc类似乎使用旧类。我们的第一个建议是我们尝试过的第一件事,但未能付诸实施。为了让它正常工作,你需要在酒店里做些什么特别的事情吗?不确定字节码是否值得费心让它工作……我们没有做任何特殊的事情来实现这一点。我们所做的就是将类放在主源路径中,并对包含要修补的类的库具有库依赖关系。@wajiw如果您的意思是不工作是因为类创建向导不允许您创建现有类,您可以转到包文件夹手动创建,编译器将毫无问题地接受它。@wajiw只有当库合并到代码中时,这才有效。你具体说明了吗?你的第一个建议是我们尝试的第一件事,但未能付诸实施。为了让它正常工作,你需要在酒店里做些什么特别的事情吗?不确定字节码是否值得费心让它工作……我们没有做任何特殊的事情来实现这一点。我们所做的就是将类放在主源路径中,并对包含要修补的类的库具有库依赖关系。@wajiw如果您的意思是不工作是因为类创建向导不允许您创建现有类,您可以转到包文件夹手动创建,编译器将毫无问题地接受它。@wajiw只有当库合并到代码中时,这才有效。你具体说明了吗?