FlashBuilder 4.5问题:“未找到类型或不是编译时常量:”

时间:2011-11-17 15:49:45

标签: flex actionscript

我现在使用FlashBuilder 4.5几次看到一个问题。首先,我创建一个新的ActionScript项目,然后将Library Project的bin文件夹添加到构建路径,并引用Library Project。我编写新项目的代码,一切正常。但是后来,当我优化代码时,我将在Library Project中创建一个新的ActionScript类文件,保存它,然后在ActionScript项目中更改已定义的函数,以便在库项目中使用这个新的ActionScript类。图书馆计划中的其他一些课程。类文件位于Library Project的src文件夹中,位于(默认包)下,与ActionScript Project成功使用的所有其他文件相同。

此时,FlashBuilder显示错误“未找到类型或不是编译时常量:PEArrays”。

这是图书馆计划文件:

package 
{
    public class PEArrays
    {
        public var x:Array;  
        public var y:Array;
        public var o:Array;
    }
}

我已加入import PEArrays;import PEArrays.*;,两者都会导致相同的错误。

另外,我尝试退出并重新进入FlashBuilder,没有帮助。

清理ActionScript项目对此错误没有影响。我也右键单击了项目文件夹并选择了Refresh,但它没有帮助。

我通过转到Project> Properties> Flex Library Build Path并查看Classes选项卡来验证所需的类是否已正确选择。我只是一个开发人员,所以没有版本控制系统。

稍作故障排除后,我现在发现ActionScript Project文件夹的bin目录为空。当我在ActionScript项目的src文件夹中运行.as文件时,出现无法找到ASname.html文件的错误(其中ASname是ActionScript项目名称以及.as文件名,例如ASname.as,在src文件夹,运行)。在html-template文件夹中找不到此ASname.html文件。什么过程生成这个所需的.html文件?我能以某种方式手动触发吗?

[我依赖此库项目的其他ActionScript项目运行正常,但未使用相关的PEArrays类]

以下是一些类似的帖子。

FlashBuilder workspace update issues Flash Builder keeps losing my imported classes...arghh

3 个答案:

答案 0 :(得分:3)

问题是你的新课程没有被编入。发生了两件事之一。

  1. 未在“项目”>“属性”>“Flex库构建路径”
  2. 中选中您的班级
  3. .flexLibProperties不可写(这可能发生在某些版本控制系统下)
  4. 查看http://www.developria.com/2010/12/tips-for-working-with-library.html了解详情。

答案 1 :(得分:2)

坦率地说,我从不相信FlashBuilder“自动构建”:它会降低应用程序的性能(因为几乎所有更改都会导致重新构建。)禁用“自动构建”,并将键盘命令记忆为Build。

使用“清洁..”时,请使用“清除下面选定的项目”并突出显示特定项目。 “清理所有项目”一直存在错误问题。

最后,如果必须,请手动清理bin文件夹,然后重新构建项目。

答案 2 :(得分:2)

好的,我不知道是什么原因引起了这个问题,但我找到了一个解决方案:

  1. 将所有项目(每个项目导出到一个单独的文件)
  2. 在硬盘上创建新的目录结构
  3. 使用Flash Builder 4.5将这些文件导入新的目录结构。
  4. 当我第一次尝试时,事情以同样的方式失败了。然后我意识到我需要更新Library Project的新硬盘目录路径。在这之后,错误消失了。因此,

    4。在每个ActionScript(或Flex)项目中,打开“属性”选项卡,单击“ActionScript构建路径”,删除“库项目”的旧构建路径,然后为新路径添加SWC文件夹。

    似乎Flash Builder一下子陷入了糟糕的状态。