Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 从AS3/OpenLaszlo中实例化Flex应用程序_Actionscript 3_Apache Flex_Mxml_Openlaszlo - Fatal编程技术网

Actionscript 3 从AS3/OpenLaszlo中实例化Flex应用程序

Actionscript 3 从AS3/OpenLaszlo中实例化Flex应用程序,actionscript-3,apache-flex,mxml,openlaszlo,Actionscript 3,Apache Flex,Mxml,Openlaszlo,我有一个OpenLaszlo/AS3应用程序(olapp.lzx)和一个Flex应用程序(flexapp.swc)。 我想在olapp.lzx中包括flexapp.swc,如下所示: olapp.lzx (AS3): =============== ... var flexapp:Sprite = new FlexApp(); flexapp.doSomething(); ... flexapp.swc是从这个mxml编译的: flexapp.mxml: ============ <?x

我有一个OpenLaszlo/AS3应用程序(olapp.lzx)和一个Flex应用程序(flexapp.swc)。 我想在olapp.lzx中包括flexapp.swc,如下所示:

olapp.lzx (AS3):
===============
...
var flexapp:Sprite = new FlexApp();
flexapp.doSomething();
...
flexapp.swc是从这个mxml编译的:

flexapp.mxml:
============
<?xml version="1.0"?>
<!-- intro/FlexApp.mxml -->
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx">
    <mx:ComboBox>
        <mx:dataProvider>
            <s:ArrayList>
                <fx:String>AK</fx:String>
                <fx:String>AL</fx:String>
                <!-- Add all other states. -->
            </s:ArrayList>
        </mx:dataProvider>
    </mx:ComboBox>
</mx:Application>
flexapp.mxml:
============
AK
艾尔
当我将flexapp.mxml编译到swf时,它运行得很好,但是是从AS3实例化的
失败(TypeError:Error#2007)。我研究过mxml->as3集成不是通常的方式,但是对于这个特殊的情况,我需要这样做。我必须承认,我还不太熟悉Flex,只熟悉OpenLaszlo。flexapp.mxml中应更改哪些内容?谢谢

OpenLaszlo不正式支持将Flash SWF应用程序导入其中。唯一的例外是编码为SWF格式的电影

(如果您的应用程序使用Flash 9(SWF9)或更高版本,则SWF电影需要以AVM2格式编码,对于Flash 8或更低版本,则使用AVM1编解码器)


如果您试图将一个不是简单SWF电影的SWF加载到OpenLaszlo中,那么结果将是无法预测的

OpenLaszlo不正式支持将Flash SWF应用程序导入其中。唯一的例外是编码为SWF格式的电影

(如果您的应用程序使用Flash 9(SWF9)或更高版本,则SWF电影需要以AVM2格式编码,对于Flash 8或更低版本,则使用AVM1编解码器)


如果您试图将一个不是简单SWF电影的SWF加载到OpenLaszlo中,那么结果将是无法预测的

SWC是一个ActionScript库;不是可运行的应用程序。。。。我从未听说过有人试图将应用程序标签添加到SWC中;但我想从技术上讲应该是可能的。我怀疑——但不确定——MXMLC编译器在基于允许应用程序实际运行的应用程序标记创建SWF时发挥了一些魔力。创建SWC时可能不存在此类步骤。如果我是你,我会考虑从你的Flex代码创建一个SWF,然后在运行时从你的OpenLaszlo应用程序加载它。出于某种原因,我无法在OpenLaszlo中包含SWF文件,但我会在其他场合尝试。但我能够包含一个由纯.as代码创建的swc,它除了扩展Sprite并在其中绘制一些圆之外什么都不做。当我从UIComponent而不是Sprite继承时,它不再显示任何图形,尽管也不再有错误消息。有没有可能Flex组件在没有mxml的情况下通常无法最终确定,因此不包括在OpenLaszlo中?OpenLaszlo部署到许多平台,Flash播放器只是其中之一,对吗?您应该能够在运行时使用loader对象在Flash Player中加载SWF。不过,我不知道OpenLaszlo是如何做到这一点的。你的Flex SWC不工作的原因很可能是因为Flex框架没有被初始化[我相信我在最初的评论中提到了]好的,我尝试了你建议的方法,加载了一个runnable.swf。我使用了文档中的示例,效果很好。但对于我用mxml编译的那些.swf文件,则不是这样。也许我编译错了,因为我没有IDE。我会检查的。我现在可以使用改进的OpenLaszlo安装,里面有最新的Flex。使用这个,我能够将一个大的SWF MXML/Flex应用程序加载到OL窗口中。这甚至适用于Flash 10和Flash 11。我不知道为什么4.9.0不起作用。不幸的是,OL窗口似乎阻止了应用程序中的某些鼠标拖动事件,尽管90%的其他鼠标操作都有效。当我使用一个简单的视图而不是窗口时,所有的鼠标动作都被停用。但我下一步会调查这个问题。毕竟,你对Loader和SWF的提示帮助了我。非常感谢。SWC是一个ActionScript库;不是可运行的应用程序。。。。我从未听说过有人试图将应用程序标签添加到SWC中;但我想从技术上讲应该是可能的。我怀疑——但不确定——MXMLC编译器在基于允许应用程序实际运行的应用程序标记创建SWF时发挥了一些魔力。创建SWC时可能不存在此类步骤。如果我是你,我会考虑从你的Flex代码创建一个SWF,然后在运行时从你的OpenLaszlo应用程序加载它。出于某种原因,我无法在OpenLaszlo中包含SWF文件,但我会在其他场合尝试。但我能够包含一个由纯.as代码创建的swc,它除了扩展Sprite并在其中绘制一些圆之外什么都不做。当我从UIComponent而不是Sprite继承时,它不再显示任何图形,尽管也不再有错误消息。有没有可能Flex组件在没有mxml的情况下通常无法最终确定,因此不包括在OpenLaszlo中?OpenLaszlo部署到许多平台,Flash播放器只是其中之一,对吗?您应该能够在运行时使用loader对象在Flash Player中加载SWF。不过,我不知道OpenLaszlo是如何做到这一点的。你的Flex SWC不工作的原因很可能是因为Flex框架没有被初始化[我相信我在最初的评论中提到了]好的,我尝试了你建议的方法,加载了一个runnable.swf。我使用了文档中的示例,效果很好。但对于我用mxml编译的那些.swf文件,则不是这样。也许我编译错了,因为我没有IDE。我会检查的。我现在可以使用改进的OpenLaszlo安装,里面有最新的Flex。使用这个,我能够将一个大的SWF MXML/Flex应用程序加载到OL窗口中。这甚至适用于Flash 10和Flash 11。我不知道为什么4.9.0不起作用。不幸的是,OL窗口似乎阻止了应用程序中的某些鼠标拖动事件,尽管90%的其他鼠标操作都有效。当我使用一个简单的视图而不是窗口时,所有的鼠标动作都被停用。但我下一步会调查这个问题。因此,毕竟,您的加载提示