【问题标题】:Loading a class in module1 with the same name as a class in module2在模块 1 中加载与模块 2 中的类同名的类
【发布时间】:2010-01-11 22:29:02
【问题描述】:

我有一个可以根据需要加载模块的 Flex 应用程序。当第一个模块被加载时,它会创建一个 MyBackground() 类,将背景涂成红色。当我选择加载第二个模块(并卸载第一个模块)时,我再次加载一个 MyBackground 类(来自第二个模块)。但是,当我进入 MyBackground 的构造函数时,它会直接进入 UIComponentDescriptor 的构造函数:

public function UIComponentDescriptor(descriptorProperties:Object)
{
    super(descriptorProperties);
}

这与我加载的每个模块使用相同的应用程序域有关吗? Flex 是否会将类类型加载到父应用程序中并缓存它们,所以当我第二次请求一个类时,它只是进行查找,而不实际查看该类是否相同?

对此的任何信息表示赞赏。

【问题讨论】:

    标签: apache-flex actionscript-3 applicationdomain


    【解决方案1】:

    我已经设法通过使用子应用程序域解决了这个问题(这并没有 100% 的意义,因为它说子域不能覆盖父域,但这似乎正是正在发生的事情)。

    m_moduleInfo.load(new ApplicationDomain(ApplicationDomain.currentDomain));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-21
      • 2020-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 2011-02-08
      • 2010-10-27
      相关资源
      最近更新 更多