【问题标题】:Type not found in external .as file在外部 .as 文件中找不到类型
【发布时间】:2012-02-18 03:48:59
【问题描述】:

我在使用外部文件时遇到问题。我正在使用 Flash Builder 中的 Flash Professional 项目

这是时间轴上的一些代码(我得到了这样的代码,因为截止日期没有时间放弃这种做法):

import com.companyname.AwesomeClass;
include "external.as";

这里是 external.as

function doSomething(value:AwesomeClass) {
    trace("value="+value.toString());
}

external.as 中的第 1 行(函数签名)出现错误:“1046:找不到类型或不是编译时间常数:AwesomeClass”

导入语句没有错误,如果我把导入语句放在external.as中,我仍然在函数签名行得到错误(但不是在导入行,它没有问题)

其中一些联系被搞砸了?

【问题讨论】:

  • 不确定它是否相关(这来自 FlexBuilder),但我已经看到它有这样的问题,它缓存了一个错误并且不会重新编译。请参阅此处了解我找到的修复程序:blog.aherrman.com/2010/05/…
  • 我会看看,但这似乎不太可能。我已启动并重新启动了这两个程序,并添加并读取了该项目。当我在 Flash Pro 中打开 .fla 并从那里点击测试影片时,我也会收到错误消息(与 Flash Builder 没有交互)
  • 当我遇到问题时,重新启动和重建项目对我没有帮助。不过,如果您正在处理 FLA,那么我猜您会遇到与我不同的事情。
  • 如果将 external.as 的内容复制粘贴到包含的位置会发生什么情况?这本质上应该是 include 所做的,但似乎某处出了点问题。

标签: flash actionscript-3 flash-builder flash-cs5


【解决方案1】:

如有必要,只需在两个文件中添加包含即可。听起来很傻,但 AS3 不应该包含两次。您的问题可能是由于在编译期间将包含的文本插入文件中的位置。

【讨论】:

    【解决方案2】:

    包含可能因几个不同的问题而失败。如果包含文件具有错误的文件权限(读取访问受限),编译将完全忽略导入。一般来说,在 Flash 中使用 include 语句是一种不好的做法,因为 ActionScript 已经非常支持包来组织类结构。

    查看这篇文章以了解有关包括的更多信息: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/statements.html#include

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 2020-04-25
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多