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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.04.2008, 04:06
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 1  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
По умолчанию Как с помощью mxmlc компилировать класс, находящийся не в корне?

Если класс находиться в корне (или как это называется правильно? default package?), т.е.

Код:
package {
...
}
То компилировать его элементарно:
Код:
 mxmlc <имя_файла.as>
А вот если класс глубоко зарыт в пакеты, то при указание полного пути к файлу компилятор выдаёт ошибку о том, что указанный пекедж не соответствует положению файла в файловой системе.

Подозреваю, что надо как-то указать, какой каталог является "корнем". Но как это сделать?

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

Регистрация: Sep 2002
Сообщений: 30,784
Нужно скомпилировать один конкретный класс?
mxmlc, насколько я помню, умеет рекурсивно компилировать файлы.

Старый 08.04.2008, 15:53
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 3  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
Нет, надо скопилировать, разумеется, несколько классов.
Первый класс - это тот, который привязан к сцене.

Я очень криво написал первое сообщение. Попытаюсь написать получше.

Есть класс Main:
Код:
package {
   class Main extends MovieClip {

   }
}
Его компилировать легко и просто:
Код:
mxmlc Main.as
Приложение будет рекурсивно скомпилировано, класс Main будет привязан к Stage. Я получу готовый .swf
Кроме того, можно создать Main-config.xml здесь же, в корне, в котором описать различные настройки, типа размер флешки, частота кадров и т.д.

Но если мне не нравиться иметь класс в корне и я его описываю вот так:
Код:
package com.example.test {
   class Main extends MovieClip {

   }
}
То при попытке откомпилировать:
Код:
mxmlc com\example\test\Main.as
Получу ошибку:
Цитата:
Error: A file found in a source-path must have the same package
structure '', as the definition's package, 'com.example.test'.
Кроме того, не совсем ясно, куда в таком случае ложить Main-config.xml

Старый 08.04.2008, 16:35
FlexOkeks вне форума Посмотреть профиль Отправить личное сообщение для FlexOkeks Найти все сообщения от FlexOkeks
  № 4  
Ответить с цитированием
FlexOkeks
 
Аватар для FlexOkeks

Регистрация: Sep 2007
Адрес: Путенбург
Сообщений: 147
Цитата:
Сообщение от WindWalker
Его компилировать легко и просто:
Код:
mxmlc Main.as
Не так просто, как написано, нужно сначала сделать рабочим каталог где лежит файл Main.as то есть типа cd C:\Projects\myProject\source И тогда компилятор его найдет, но можно указать полный путь:
Код:
mxmlc C:\Projects\myProject\source\com\example\test\Main.as
А конфиг можно указать опцией -load-config+=[путь к файлу] А можно вообще не указывать , по умолчанию компилятор сначала грузит flex-cofig.xml из SDK а потом ищет в той же дирректории где находиться компилируемый файл, файл со следующим именем имя [имя_компилируемого_файла]-flex-config.xml то есть если в одном каталоге с Main.as будет Main-flex-config.xml то компиллер его подхватит
__________________
<!-- КРЭКС ПЭКС ФЛЭКС -->

Старый 08.04.2008, 17:31
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 5  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
Спасибо. Меня интересовало как раз куда ложить: в корень или в каталог с .as файлом.

Кстати, я нашёл как указывать "корень".

Код:
mxmlc com\example\test\Main.as -compiler.source-path=.
Разумеется, подразумевается, что рабочий каталог и является source path.

Старый 08.04.2008, 18:25
FlexOkeks вне форума Посмотреть профиль Отправить личное сообщение для FlexOkeks Найти все сообщения от FlexOkeks
  № 6  
Ответить с цитированием
FlexOkeks
 
Аватар для FlexOkeks

Регистрация: Sep 2007
Адрес: Путенбург
Сообщений: 147
Цитата:
Сообщение от WindWalker
Код:
mxmlc com\example\test\Main.as -compiler.source-path=.
Разумеется, подразумевается, что рабочий каталог и является source path.
Дело в том что компилятор автоматически добавляет в -source-path каталог в ктором находится компилируемый файл, но только в том случае, если этот каталог не является подкаталогом другого каталога уже указанного в -source-path , то есть вы хотите положить Main.as в директорию com\example\test и при этом не указывать pacage com.example.test , пакет в котором фактически находится класс ?
__________________
<!-- КРЭКС ПЭКС ФЛЭКС -->

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

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

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


 


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


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