我想使用编译器常量来修改某些嵌入文件的路径,这对于不同的项目(共享相同的源代码)是不同的
IE中。转换这个:
[Embed(source ='mypath / myfile.png')] public static const myimage:Class;
成像:
[Embed(source = CONFIG :: gfx_path +'myfile.png')] public static const myimage:Class;
其中CONFIG :: gfx_path是'mypath /'
问题是不编译它(错误:元数据无效)。实际上你甚至不能这样做:“mypath /”+“myfile.png”,因为它会给出同样的错误。
谢谢!
答案 0 :(得分:0)
您不能在Embed标记(或任何元数据)中使用可执行代码。
Embed
元数据标记(以及无数其他特定代码类型)在编译时执行。涉及变量/方法的普通代码在运行时执行。如果您不知道差异,则在构建项目时执行编译时代码,并且实际上是构建的一部分。运行时在应用程序运行时执行。
您无法在编译时执行运行时代码,反之亦然。必须在编译时明确定义所有嵌入,才能使它们成功。这可能很痛苦,但是应用程序必须确切知道在编译之前嵌入的内容。这就是嵌入的全部内容。