Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Динамическая загрузка классов (http://www.flasher.ru/forum/showthread.php?t=175237)

Blood_kitsune 13.02.2012 01:08

Динамическая загрузка классов
 
Добрый день.

Появилась такая потребность, вообщем опишу задачу:
есть - главная флешка, есть XML фаил и есть некие другие компоненты(флеш).
надо - необходимо чтобы главная флешка читая XML фаил подгружала те компоненты что там перечислены.
в чём вопрос - компоненты для загрузки по сути можно представить некими расширениями функционала главной флешки, их может быть вообще очень много, а при определённом запуске надо будет только несколько(XML меняется). я представляю себе сейчас каждый компонент как отдельный класс(содержит код) который надо подгрузить и запустить в главной системе. правильное ли я решил делать компоненты отдельными классами(именно классами) и главное как их так динамически загружать то мне?

Подскажите плиз в решении этой проблемы или подскажите правильный подход к реализации таких частей систем.

GBee 13.02.2012 01:50

Ну одна флэшка - один класс, наверно все-таки жестковато.

ApplicationDomain.getDefinition

Blood_kitsune 13.02.2012 11:59

Спасибо за ответ=) про getDefinition я знаю. не сильно помогает. мне надо потом создавать переменные этого класса. не очень получается.

да жестковато. класс мне то нужен один а он в свои очередь подключает свои классы и т.д.

может есть альтернатива какая то этому методу?

Wolsh 13.02.2012 12:59

Цитата:

может есть альтернатива какая то этому методу?
Ахах, чтобы классов, которые использует Ваш класс, в приложении НЕ БЫЛО?
Ну сами посудите.
Цитата:

не сильно помогает. мне надо потом создавать переменные этого класса. не очень получается.
Используйте интерфейсы. Стандартизируйте плагины единым интерфейсом, объявляйте тип переменных как интерфейс.
Ну или абстрактный класс плагина, и все плагины его наследуют и реализуют объявленные методы.
Соответственно этот абстрактный класс или интерфейс вкомпиливаете в основную флэшку и используете там для переменных-плагинов. Загружаете плагин, вытаскиваете конкретный класс, создаете экземпляр и инициализируете им переменную.

Blood_kitsune 13.02.2012 13:17

Да это пожалуй будет даже лучше. А класс который будем вытаскивать надо скомпилить наверно в какой-то вид=) Понимаю наверно совсем глупый вопрос, но ответа не знаю. Не *.as же...

Wolsh 13.02.2012 13:22

swf, все просто))

Wolsh 13.02.2012 15:11

Вложений: 1
Вот примерчик накатал.
Проект для FlashDevelop, уж извиняйте если в другом IDE работаете, надеюсь разберетесь.

Blood_kitsune 13.02.2012 15:24

Вот всем огромное спасибо=)

Wolsh - вообще респект огромный=) а работаю я в любом IDE

b_ear 27.12.2013 18:43

Возник такой вопрос, если в данном примере изменить загрузку локального SWF-файла на загрузку с удаленного сервера по адресу вида "https://space15.ru/Figures.swf" (на данный момент реально существует)
то пример не работает, загрузка файла проходит как обычно, а при использовании вылезает ошибка "класс не найден". Что при этом не хватает?
Заранее спасибо

Wolsh 27.12.2013 19:48

Обычная политика безопасности. Если space15.ru Вам не разрешали пользоваться своими ресурсами, то Вы и не будете. Если это Ваш ресурс, то добавляйте crossdomain.xml и к коду соответственно проверку.


Часовой пояс GMT +4, время: 23:20.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.