首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >引用AS3类中的父MXML?

引用AS3类中的父MXML?
EN

Stack Overflow用户
提问于 2012-02-27 12:30:40
回答 2查看 1K关注 0票数 0

我的Flex项目有一个AS3类:

代码语言:javascript
运行
复制
package system
{
    import mx.managers.PopUpManager;

    import ui.Eula;

    public class Dialogs
    {
        public function Dialogs(){}

        public static function showEula():void {
            var eulaWindow:Eula = new Eula;
            PopUpManager.addPopUp(eulaWindow,MyMainMXML,true);
        }
    }
}

MyMainMXML是我的基本MXML文件。它不会让我通过我的课提到它。我该怎么做?编译器错误如下:

1067:将类型类的值隐式强制为不相关的类型flash.display:DisplayObject.

主MXML文件是一个星星之火WindowedApplication,所以我假设它是DisplayObjects的一部分。

编辑:

我尝试使用FlexGlobals,如下所示,但它发出了一个错误,即1118:使用静态类型对象对值进行隐式强制,使其可能与flash.display:DisplayObject.无关。

代码语言:javascript
运行
复制
package system
{
    import mx.core.FlexGlobals;
    import mx.managers.PopUpManager;

    import ui.Eula;

    public class Dialogs
    {
        public function Dialogs(){}

        public static function showEula():void {
            var eulaWindow:Eula = new Eula;
            PopUpManager.addPopUp(eulaWindow,FlexGlobals.topLevelApplication,true);
        }
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-27 14:13:10

使用FlexGlobals.topLevelApplication会返回一个类型为object的对象(是的,我知道,这听起来很红:P)。但是addPopUp第二个参数如果是DisplayObject。因此,这应该起到了作用:

代码语言:javascript
运行
复制
PopUpManager.addPopUp(eulaWindow,FlexGlobals.topLevelApplication as DisplayObject,true);

我不能百分之百确定为什么FlexGlobals.topLevelApplication不返回DisplayObject,这可能是一个低级别的问题。

票数 1
EN

Stack Overflow用户

发布于 2012-02-27 12:40:00

您可以从

FlexGlobals.topLevelApplication

mx.core.FlexGlobals.topLevelApplication:顶级应用程序对象,而不管对象在文档树中执行的位置。此对象的类型为spark.components.Application或mx.core.Application。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9465063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档