加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

actionscript-3 – FlashDevelop中的Flex元数据编译器扩展教程

发布时间:2020-12-15 07:28:27 所属栏目:百科 来源:网络整理
导读:我一直在谷歌搜索过去2个小时,寻找一些关于如何在as3中添加我自己的自定义元数据标签的简单说明,但没有成功.我开始认为我可能不会搜索正确的术语. 问题 最后,我想要做的是在函数上添加自定义元数据,该函数将函数作为参数并确保给定函数具有正确的参数. 即我
我一直在谷歌搜索过去2个小时,寻找一些关于如何在as3中添加我自己的自定义元数据标签的简单说明,但没有成功.我开始认为我可能不会搜索正确的术语.

问题

最后,我想要做的是在函数上添加自定义元数据,该函数将函数作为参数并确保给定函数具有正确的参数.

即我有以下功能:

public function testCallback(callback:Function):void
{
    callback("test");
}

当我这样调用它时,我想得到编译器错误:

public function doNothing():void
{
    // doing nothing
}

public function someRandomFunction():void
    // ...
    testCallback(doNothing);
}

我想这样做的方法是通过这个元数据:

[Callback(paramName="callback",callbackParams="string")]
public function testCallback(callback:Function):void
{
    callback("test");
}

扩展将在编译期间运行,如果传递的函数不包含正确的参数,则将抛出编译时错误.我认为使用flex2.compiler.util.ThreadLocalToolkit.logError(path,line,errorMessage);我能做到这一点.

搜索

我一直在谷歌搜索几个小时,找不到一个可以让我开始的简单教程.我发现了一些SDK错误报告(SDK-18718,SDK-26041),一个unfinished forum post,一个教程(?)在how to add a custom metadata in FlexBuilder(我正在使用FlashDevelop),一个not-so-useful answer in StackOverflow以及更多的死胡同.

帮助

到目前为止,据我所知,我将使用Java来创建扩展,然后,使用编译器命令,我将它添加到我的项目中.但是,我不知道开始需要什么.

我的两个主要问题是:
A)在Java中创建扩展需要什么? (我需要Flex Builder吗?Eclipse?我的类路径中需要哪些库?)
B)一旦我将其编译成某个东西(一个swc?),我如何在我的AS3项目中将它包含在FlashDevelop中?

提前致谢!

更新

我已经能够在eclipse中创建一个Java项目,添加Flex库,实现IMxmlcExtension接口,并使用正确的MANIFEST文件将项目编译到jar中.不幸的是,在FlashDevelop中添加额外的-extension = MyTest.jar没有做任何事情.

如果它很有用,编译器的结果命令行是

mxmlc -load-config+=objMyProject.xml -debug=true -incremental=true
-swf-version=10 -extension=flex_test.jar -o objMyProject634846490611881374

更新2

Timofei Davydik帮助我缩小了问题的范围.似乎FlashDevelop是主要问题.创建扩展并在命令行中编译它.我在FlashDeveloper的论坛中开始了一个主题.如果您有兴趣,该主题是:-extension compiler option

更新3

Pilippe是正确的,似乎问题来自FlashDevelop使用Flex Compiler SHell (fcsh)的事实.我现在正在研究如何切换编译器.

解决方法

非常有趣的问题.我做了一些研究.是的,我们可以编写mxmlc扩展并添加一些自定义功能.但处理自定义元数据确实很复杂,需要很多时间来调试和探索flex编译器源.我在博客中创建了一篇关于扩展的帖子,您可以查看:

http://tim-davydik.blogspot.com/2012/09/flex-compiler-mxmlc-extensions-forcing.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读