flashdevelop暂停,没有明确的编译错误

时间:2011-06-26 11:46:13

标签: flash flash-cs3 flashdevelop swc

我们正在使用flashdevelop和flash CS 3开发基于flash的游戏。我们使用flash CS3发布swc,swc将在flashdevlop中用作库。

一切似乎都很好,直到有一天我对fla进行了更改(更改是取消嵌入字体或将动画片段从一个点移动到另一个点,没有什么异常)然后发布为swc。但是当我尝试使用最新的swc重新编译时,它会因以下错误而失败:

  

错误:null

     

构建因错误而停止(fcsh)。

     

(fcsh)

     

完成(1)

错误为空,没有其他显式编译错误。

当我尝试使用旧版本发布swc时,swc有时可以很好地处理flashdevelop,但有时它会因上述原因而失败。我对此一无所知。

任何人都可以帮我解决这个问题吗?

Big想你们这些可以给我一些提示的人,因为它让我非常恼火。

5 个答案:

答案 0 :(得分:1)

一天早上之后:

  • 重新安装所有flex环境,包括flex-sdk,flashDevelop等。
  • 还原课程并逐一比较

我们发现问题:)在我们的案例中,这是一个奇怪的重载问题来自这段代码:

private function onButtonClicked(e:Event):void
{
    e:Event = new Event(Event.CHANGE);
    dispatchEvent(e);
}

如果您忘记放置'var'关键字(第三个示例),显然解析器无法检测到现有变量的重载:

// [Error: A conflict exists with definition e in namespace internal.]
var e:Event = new Event(Event.CHANGE); 

// OK
e = new Event(Event.CHANGE); 

// [Error: Classes must not be nested. public class Main extends Sprite] 
// or 
// [Error: null Build halted with errors (fcsh).]
e:Event = new Event(Event.CHANGE); 

答案 1 :(得分:1)

我刚刚遇到这个问题,我找到了解决问题的方法:

如果您通过Flash导出SWC,则问题可能在于SWC的编译方式。

转到发布设置,在 Flash标签下,单击设置按钮,将出现一个新对话框。在运行时共享库​​设置上,选择默认链接作为合并到代码并编译swc。

当您添加一些特定的类,对象或组件时,Runtime Shared Library将创建一个预加载器,当发生这种情况时,Flashdevelop无法读取内容,那么他​​将无法编译您的项目并返回 null 错误。这是非常无能的。

您会注意到RSL swc小于合并代码swc ...在我的情况下,大约70%。

-

我注意到了一件事。如果您使用TLF Textfield,它会自动创建预加载器并使用外部SWF作为文本字段数据。您可以将所有TLF文本字段更改为经典文本字段并使用RSL swc。

答案 2 :(得分:1)

我收到了这个错误,我为我解决了这个问题。我今天安装了FlashDevelop并通过将字符串的值从“Hello Planet”更改为“Hello World”或其他任何内容来获取这些错误。

我找到了两种方法来解决这个问题:


1短期解决方案: 按项目>项目测试(失败)然后按项目>项目运行。 它现在有效,但如果你进行1次更改,它会再次失败,你必须重复这个过程。


2长期解决方案(从长远来看节省时间): 这个听起来很奇怪,但它有一些原因。你永远不会无缘无故地得到那个错误。

  1. 从Adobe Labs下载Flex SDK和AIR SDK。
  2. 解压缩它们并将所有AIRSDK文件复制并粘贴到FLEXSDK文件夹中。听起来很疯狂但很重要。
  3. 将您的FlexAIR合并文件夹放在硬盘驱动器上的某个位置,以便长时间停留。
  4. 将FlashDevelop指向新的FlexAIR合并文件夹。*
  5. 创建新项目并且有效!

答案 3 :(得分:0)

这是Flex编译器的一个错误 - 只需重新构建即可。

已找到解决方法,它将不会出现在FlashDevelop的未来版本中。

答案 4 :(得分:0)

解决方案是使用Java 7(v1.7.0),在此论坛上提供更多信息:http://www.flashdevelop.org/community/viewtopic.php?f=6&t=12900