Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.08.2008, 13:57
Alkaz вне форума Посмотреть профиль Отправить личное сообщение для Alkaz Найти все сообщения от Alkaz
  № 1  
Ответить с цитированием
Alkaz

Регистрация: May 2006
Адрес: Нск
Сообщений: 91
По умолчанию как включить в swf неиспользуемые классы?

Извиняюсь за непонятную формулировку. В общем проблема такая:
Есть приложение и есть модули к нему. Допустим у нас загружен модуль VideoPlayer реализующий интерфейс IVideoPlayer, и мы грузим модуль Subtitles, после загрузки в Subtitles срабатывает код наподобие такого:
Код:
mainModel.videoPlayer.addChild(this);
trace(parent as IVideoPlayer); //null
Путем экспериментов выяснил что если использовать этот интерфейс в основном приложении (т.е. он будет включен в главную swf) то все ок:
Код:
trace(parent as IVideoPlayer); //VideoPlayer
но для этого приходится использовать неудобный костыль в основном приложении:
Код:
import plugins.VideoPlayer.IVideoPlayer;
...
private function includeInterfaces():void
{
       	var iVideoPlayer:IVideoPlayer;
}
т.к. просто импорт еще не означает что класс будет включен при компилировании.
Собственно вопрос как сделать так чтобы нужные мне интерфейсы включались в главное приложение без их непосредственного использования?
И еще один вопрос из любопытства почти на ту же тему.
VideoPlayer.as
Код:
...
trace(getQualifiedClassName(this)); // test.video::VideoPlayer
...
Subtitles.as
Код:
mainModel.videoPlayer.addChild(this);
trace(getQualifiedClassName(parent)); // test.video::VideoPlayer
trace(parent as VideoPlayer); // null
И так происходит опять таки до тех пор пока в главную свф при компиляции не будет включен класс VideoPlayer. Почему?

Старый 13.08.2008, 14:10
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 2  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
использовать посути тот же костыль, но так
Код:
import plugins.VideoPlayer.IVideoPlayer;
plugins.VideoPlayer.IVideoPlayer;
то же самое явное упоминание класса, но без создания переменной

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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