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

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

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

Регистрация: Aug 2009
Сообщений: 19
По умолчанию Как заставить компилятор внедрить класс?

Делаю фабрику классов

Код AS3:
import view.views.*;
 
var classReference:Class = getDefinitionByName("MyClass") as Class;
var instance:Canvas = new ClassReference() as Canvas;
addChild(instance);
Класс MyClass не находится. Нужно принудить компилятор "влинкить" класс в фабрику, например

Код AS3:
import view.views.*;
 
public var dummy1:MyClass1;
public var dummy2:MyClass2;
public var dummy3:MyClass3;
 
var classReference:Class = getDefinitionByName("MyClass") as Class;
var instance:Canvas = new ClassReference() as Canvas;
addChild(instance);
Тогда все работает.
Нет ли "цивилизованного" способа заставить компилятор поместить классы в фабрику, какого-нибудь правильного мета-тега.

Старый 21.08.2009, 15:22
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
скомпилировать их всех в SWC и прилинковать библиотеку включив ее всю. Только так...
__________________
Hell is the possibility of sanity

Старый 21.08.2009, 15:33
SorrowN00b вне форума Посмотреть профиль Отправить личное сообщение для SorrowN00b Найти все сообщения от SorrowN00b
  № 3  
Ответить с цитированием
SorrowN00b

Регистрация: Aug 2009
Сообщений: 19
Мда, это перебор. Они ж у меня флексовые.
Значит, будем так...

Старый 21.08.2009, 15:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Переменные можно не создавать, достаточно просто имен классов.

Старый 21.08.2009, 15:52
SorrowN00b вне форума Посмотреть профиль Отправить личное сообщение для SorrowN00b Найти все сообщения от SorrowN00b
  № 5  
Ответить с цитированием
SorrowN00b

Регистрация: Aug 2009
Сообщений: 19
etc а в каком контексте их можно указать? Ни в каком, просто как операция, не имеющая результата?


Код AS3:
MyClass1; MyClass2; MyClass3;
Мда, работает. Опять шаманство...


Последний раз редактировалось SorrowN00b; 21.08.2009 в 15:55.
Старый 21.08.2009, 17:33
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 6  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Цитата:
includes class [...]
Links one or more classes to the resulting application SWF file, whether or not those classes are required at compile time.
А это разве не работает?
__________________
4am is time to rock

Старый 21.08.2009, 18:29
SorrowN00b вне форума Посмотреть профиль Отправить личное сообщение для SorrowN00b Найти все сообщения от SorrowN00b
  № 7  
Ответить с цитированием
SorrowN00b

Регистрация: Aug 2009
Сообщений: 19
Может и работает, но это уже чересчур
После добавления каждой вьюшки менять параметры компиляции...

Старый 21.08.2009, 18:31
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
wvxvw, в swc может быть двести классов, а в проекте явно используется только 10. В конечном приложении, использующем этот swc будут содержаться только те классы, которые реально были использованы.

Старый 22.08.2009, 01:18
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от etc Посмотреть сообщение
wvxvw, в swc может быть двести классов, а в проекте явно используется только 10. В конечном приложении, использующем этот swc будут содержаться только те классы, которые реально были использованы.
Смотря как подключишь, если
Цитата:
-compiler.include-libraries [library] [...]
alias -include-libraries
a list of libraries (SWCs) to completely include in the SWF
(repeatable)
То включится все, что было в SWC за исключением того, что было описано в <files/>
__________________
Hell is the possibility of sanity

Старый 22.08.2009, 11:41
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Не знаю, надо проверять, помнится, когда билдил ant-ом, этот include-libraries вшивал только используемое. Более того, неясно, в каком порядке он будет инициализировать неиспользуемые классы, а это очень важно. Если вшивать вперед нужного кода, то грош ему цена.

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

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

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


 


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


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