【问题标题】:flex/air how to load a class that is on another moduleflex/air 如何加载另一个模块上的类
【发布时间】:2010-09-06 16:10:32
【问题描述】:

我正在尝试构建我的 flex 模块化应用程序,并得到以下场景

门户(包括 2 个模块:) -Mod1 (.swf) -Mod2 (.swf)

另外,我有 Mod1-API (.swc)

Mod1-API 定义了在 Mod1 (.swf) 上实现的接口。 Mod1 和 Mod2 swfs 都导入 Mod1-API swc。

我正在尝试调用 Mod2 上的 API 方法。在 Mod2 上我有接口,因为它是通过 Mod1-API 项目共享的。

我想要实现的是真正的实现类加载到 Mod2 上,通过反射,使用 getDefinitionByName 方法,但它说它没有定义。

那么,有没有办法实现呢?

我的意思是,如何从 mod2 加载 Mod1 项目上的类,只返回 mod2 的接口,以便它可以像普通 API 方法一样调用方法?

【问题讨论】:

  • 不明白你的问题,你在寻找类似 eval 函数的东西吗?在运行时调用字符串格式的 API 方法?请分享您的一些代码。

标签: apache-flex api air module classloader


【解决方案1】:

这取决于您加载类定义的位置。 Flex 使用安全域和应用程序域来划分已加载的代码。

如果您希望模块 2 访问通过模块 1 加载的代码,则需要将它们加载到相同的安全域和应用程序域中。

This 应该会给你一个好的开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多