0
我正尝试使用“define”mxmlc编译器选项将编译时常量嵌入到我的SWF文件中。在运行时获取编译时变量
<mxmlc ...>
<define name="NAMES::PluginCompileTime" value="Hello World!"/>
</mxmlc>
我可以访问此变量,如果我“硬编码”到我的代码库,像这样:
public static const PLUGIN_COMPILED_TIME:String = NAMES::PluginCompileTime;
不过,我想能够使用的东西在运行时要做到这一点像getDefinitionByName( ):
var value:* = flash.utils.getDefinitionByName("NAMES::PluginCompileTime");
这引发以下错误:
ReferenceError: Error #1065: Variable PluginCompileTime is not defined.
有谁知道在运行时在命名空间中加载编译时常量的方法吗?
谢谢:)我想我只是希望能够把它看作是SWF文件中的定义。 – 2010-09-16 15:54:23
@tkk:我想知道为什么你需要这样做。如果你在代码中的任何一点都需要这个值,你可以直接写'var something:String = NAMES :: PluginCompileTime;'。我看不出为什么你需要在命名空间全局中显式拷贝值。 – Gunslinger47 2010-09-16 19:05:57
那么,其中一个原因是,必须对其中的值进行硬编码,从而将编译时间依赖性引入代码库。如果我不需要硬编码,可以使用默认值,这样可以让我的编译更加“可变”。 :) – 2010-09-20 00:04:01