2

我正在尝试构建一个简单的 FLEX 应用程序。不幸的是,我得到“1131:类不能嵌套。” 即使使用简单的 MXML 也会出现错误 .... mx:Application openning 标记处会弹出错误:(如果重要,我正在使用 PureMVC)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml"
        xmlns:view="icm.view.components.*"
    viewSourceURL="srcview/index.html"
    name="ICM"
    layout="absolute"
    > //FLEX BUILDER SAYS THE ERROR IS HERE


<mx:Script>
        <![CDATA[
        import mx.effects.easing.Exponential;
        import icm.ApplicationFacade;

        public static const NAME:String = "AppSkeleton";
        private var facade:ApplicationFacade = ApplicationFacade.getInstance(NAME);
        ]]>
</mx:Script>

    <mx:Move id="slideInEffect" yFrom="5000" easingFunction="{Exponential.easeOut}" duration="1300"/>
    <mx:Fade id="fadeOut" duration="1000" alphaFrom="1.0" alphaTo="0.0"/>
    <mx:Fade id="fadeIn" duration="1000" alphaFrom="0.0" alphaTo="1.0"/>

<mx:Style source="css/yflexskin.css" />

    <mx:Canvas id="mainViewStack" left="0" top="0" right="0" bottom="0" >
        <mx:ViewStack id="vwStack" left="0" top="0" right="0" bottom="0" resizeToContent="false" creationPolicy="auto">
            <mx:VBox />
            <view:SplashScreen id="splashScreen" showEffect="{slideInEffect}" hideEffect="{fadeOut}" />
            <view:LoginScreen id="loginScreen" showEffect="{fadeIn}" />
            <view:MainScreen id="mainScreen" showEffect="{fadeIn}" />
        </mx:ViewStack>
    </mx:Canvas>

</mx:Application>

有人可以帮我理解为什么吗?我一直在做很多无意义的测试,因为我不理解它。有时如果我删除脚本部分编译成功,其他人不会。

谢谢

4

4 回答 4

1

谢谢大家的意见。

本主题的最大提示是:使用 SDK 构建!!!

Flex Builder(包括 IDE 和插件)似乎缺乏很多错误处理功能,即使它报告错误也不可靠。

与 IDE 一起使用的编译提示窗口为我省去了很多麻烦。

再次感谢大家!

于 2010-01-11T12:25:15.580 回答
1

我使用编译器选项来排除/包含一些代码,例如-define+=CONFIG::myOption,true 该选项为true(包括一些代码),并且您在代码中有这样的内容:

CONFIG::myOption {
    import <a package>;
}

这将导致 1131 错误...我没有解决方法,但没有使用此类条件编译指令。

于 2013-05-08T17:01:58.537 回答
0

有一个弹性编译器选项“启用严格类型检查”只需取消选择它。我认为这可以给出一个简单的解决方案....

于 2010-02-03T17:56:44.610 回答
0

http://blog.gigantt.com/2011/02/how-to-build-flex-sdk.html

构建让我们创建一个批处理文件来设置一些有用的 envar:envars.bat

      set JAVA_HOME=c:\Program Files\Java\jdk1.6.0_23
      set PATH=c:\dev\ant\bin;%PATH%
      set ANT_OPTS=-Xmx256m

打开 cmd.exe 并运行它... 编辑 c:\dev\sdk\frameworks\build.xml 查找: 并将清单文件的位置从:“${datavis.dir}/manifest.xml”修复为: "${datavis.dir}/manifest_datavisualization.xml" 运行 Ant:c:\dev\sdk\frameworks> ant 它应该以这样的消息结束: BUILD SUCCESSFUL 现在让我们告诉 Flash Builder 在哪里可以找到这个新的 SDK:c:\ dev\sdk 将其添加到 Flash Builder 中的“已安装的 SDK”设置中 确保您的项目已配置为使用此 SDK(它可能是使用原始 SDK 创建的,并且仍然引用它)。重建你的项目。它应该工作。

于 2013-02-14T09:37:55.250 回答