Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   как включить в swf неиспользуемые классы? (http://www.flasher.ru/forum/showthread.php?t=114916)

Alkaz 13.08.2008 13:57

как включить в 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. Почему?

fljot 13.08.2008 14:10

использовать посути тот же костыль, но так
Код:

import plugins.VideoPlayer.IVideoPlayer;
plugins.VideoPlayer.IVideoPlayer;

то же самое явное упоминание класса, но без создания переменной


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

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