首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flex编译时间常量-时间戳

Flex编译时间常量-时间戳
EN

Stack Overflow用户
提问于 2010-02-21 07:09:13
回答 4查看 5.6K关注 0票数 5

我正在尝试使用Flex Compile Time Constants来包含构建SWF的日期和时间(源代码管理版本/时间戳,如SVN:关键字不足以满足我们的需求,我们需要知道实际的构建时间,而不是提交时间)。

我尝试过使用actionscript (就像文档建议的那样):

代码语言:javascript
复制
-define+=COMPILE::Timestamp,"new Date()"

但这给出了“配置值的初始化器必须是编译时间常量”

我尝试将其放到shell中并使用date命令(使用各种单引号和双引号配置),例如:

代码语言:javascript
复制
-define+=COMPILE::Timestamp,`date +%Y%m%d%H%M%S` 

我只能让它使用简单的字符串和简单的常量表达式(例如,我可以做4-2,它在运行时将是2。但是我不能让它做任何事情,在我声明定义的时候,这些值是不明确知道的。

有人做过这样的事情吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-02 02:44:28

我也遇到了同样的问题,最终以using this blog post作为起点。对我来说效果很好。只需将类的一小部分更新为flex4。从编译后的swf中提取日期。

票数 3
EN

Stack Overflow用户

发布于 2010-02-21 12:59:57

问题的关键很可能在Adobe引用编译时常量的以下语句中:常量可以是布尔值、字符串或数字,也可以是可以在编译时在ActionScript中求值的表达式。

我假设时间戳在编译时不可用。

但是,您可以尝试使用字符串(如下所示)

代码语言:javascript
复制
public function GetUnixTime():String{
var myDate:Date = new Date();
var unixTime:Number = Math.round(myDate.getTime()/1000);
return unixTime.toString();
}

另一种想法是,您可以从编译后的文件中获取信息。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2010-07-14 02:25:13

经过广泛的研究,我得出的结论是,这根本不可行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2304135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档