Actionscript 3 ActionScript 3-公共静态常量-我希望这是动态的!

Actionscript 3 ActionScript 3-公共静态常量-我希望这是动态的!,actionscript-3,Actionscript 3,我正在使用purePDF(用于AS3的PDF库)来设置一些报告。我想使用相同的代码来加载动态数量的标题和相应的数据列。但我有一段代码: public static const COLUMNWIDTHS: Vector.<Number> = Vector.<Number>( [3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3] ); public static const COLUMNWIDTHS:

我正在使用purePDF(用于AS3的PDF库)来设置一些报告。我想使用相同的代码来加载动态数量的标题和相应的数据列。但我有一段代码:

public static const COLUMNWIDTHS: Vector.<Number> = Vector.<Number>( [3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3] );
public static const COLUMNWIDTHS:Vector.=向量([3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]);
我曾经尝试过处理这个COLUMNWIDTHS问题,但似乎库希望将其设置为一个公共静态常量-我不能按我的方式设置-一个公共变量。我对AS3有很多涉猎,但直到我开始为一个项目修改此代码时才遇到这个问题


我该如何回避这个问题?

我不完全确定我是否理解你的问题。但它看起来像是要动态更改
列宽度
,但它必须是
静态常量

如果这是问题所在,您可以通过如下方式声明
向量来修复它:

public static const COLUMNWIDTHS: Vector.<Number> = new Vector.<Number>();
public static const COLUMNWIDTHS:Vector.=新向量();
然后,更新其内容,例如:

        for (var i:int = 0; i < 10; i++) {
            COLUMNWIDTHS[i] = 3;
        }
for(变量i:int=0;i<10;i++){
列宽[i]=3;
}

虽然一开始看起来可能有悖常理,
COLUMNWIDTHS
被声明为
const
,但这并不意味着不能更改对象的内容。它只是意味着引用是常量。它指向一个对象,而您不能让它指向另一个对象。也就是说,您不能重新分配
列宽
,但您肯定可以更改其内容。

好了,各位,您在这个问题上想得太多了。答案很简单,我在发帖5分钟后就自己找到了答案,但我的电脑在测试解决方案后就崩溃了(代码没有错——我那愚蠢的笔记本电脑只是偶尔会因为i3内核过热而崩溃一次(很快就会有另一台笔记本电脑)

扬升系统-你是对的-以下几点:

public static const COLUMNWIDTHS: Vector.<Number> 
publicstaticconstcolumnwidths:Vector。
需要:

public static var COLUMNWIDTHS: Vector.<Number> 
publicstaticvar列宽:Vector。

非常简单的解决方案

我只需要研究一下同样的问题。以下是我能想到的最好答案:

public static const COLUMNWIDTHS: Vector.<Number> = new <Number>[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3];
public static const COLUMNWIDTHS:Vector.=新的[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3];

它至少可以在Flash 10中使用。

您不能将其作为公共静态变量使用?如果您的PDF库存在问题,您可能需要查看:。实际上,PDF库purePDF非常棒!它是Java iText库的一个端口。iText中唯一没有的重要功能是ChartFactory,因此开发人员最终会为piecharts寻找代码,但除此之外,它非常棒。非常好的例子,它是我的TCPDF(PHP库)的新替代品。Flash非常适合创建PDF报告-纯PHP解决方案对于带有图表和图形的60页报告来说太慢了-需要几分钟才能生成,而purePDF/Flash只需几秒钟就可以完成。这对于常量向量来说是非常正确的解决方案,与公共静态var COLUMNWIDTHS:Vector相反。