不能嵌套类 - MXML

时间:2010-01-07 23:05:01

标签: flex puremvc

我正在尝试构建一个简单的FLEX应用程序。不幸的是,我得到'1131:不能嵌套类。即使使用简单的MXML错误....错误弹出mx:应用程序打开标记: (如果重要的话,我正在使用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 个答案:

答案 0 :(得分:1)

谢谢大家的评论。

这个主题的最大技巧是:使用SDK构建!!!

Flex Builder(IDE和插件)似乎缺少很多关于错误处理的功能,即使报告错误也不可靠。

与IDE一起使用的编译提示窗口给我带来了很多麻烦。

再次感谢大家!

答案 1 :(得分:1)

我使用编译器选项排除/包含一些代码时出现此问题 像-define+=CONFIG::myOption,true 当选项为true(包括一些代码)时,你的代码中就有这样的东西:

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

建筑 让我们创建一个批处理文件来设置一些有用的envars: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&gt;蚂蚁 它应该以这样一个信息结束:建立成功      现在让我们告诉Flash Builder在哪里找到这个新的SDK:c:\ dev \ sdk 将其添加到Flash Builder中的“已安装的SDK”设置中 确保您的项目配置为使用此SDK(它可能是使用原始SDK创建的,但仍然引用它)。 重建您的项目。它应该工作。