0

我正在尝试使用“定义”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.

有谁知道在运行时在命名空间中加载编译时常量的方法?

4

1 回答 1

1

编译时常量在运行时不可用。它们仅在编译时可用。

如果您需要将其值作为命名空间常量,那么正确的解决方案是像您所做的那样“硬编码”它。

于 2010-09-14T21:55:21.253 回答