Загрузка класса в модуле 1 с тем же именем, что и у класса в модуле 2.

У меня есть приложение Flex, которое может загружать модули по мере необходимости. Когда загружается первый модуль, он создает класс MyBackground(), который окрашивает фон в красный цвет. Когда я выбираю загрузку второго модуля (и выгружаю первый), я снова загружаю класс MyBackground (из второго модуля). Однако, когда я вхожу в конструктор для MyBackground, он переходит прямо в конструктор для UIComponentDescriptor:

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

Это как-то связано с использованием одного и того же домена приложения для каждого модуля, который я загружаю? Загружает ли Flex типы классов в родительское приложение и кэширует их, поэтому, когда я запрашиваю класс во второй раз, он просто выполняет поиск, фактически не видя, является ли класс тем же самым?

Любая информация об этом приветствуется.


person Mark Ingram    schedule 11.01.2010    source источник


Ответы (1)


Мне удалось решить проблему с помощью дочернего домена приложения (что не имеет 100% смысла, поскольку в нем говорится, что дочерние домены не могут переопределять родительские домены, но, похоже, именно это и происходит).

m_moduleInfo.load(new ApplicationDomain(ApplicationDomain.currentDomain));
person Mark Ingram    schedule 11.01.2010