flashdevelop остановлен без явной ошибки компиляции - PullRequest
4 голосов
/ 26 июня 2011

Мы разрабатываем игры на основе флэш-памяти, используя flashdevelop и flash CS 3. Мы используем flash CS3 для публикации SWC, и SWC будет использоваться во flashdevlop в качестве библиотеки.

Все выглядит хорошо, пока однажды явнес изменения в fla (изменение отменяет встраиваемые шрифты или перемещает видеоклип из одной точки в другую, ничего необычного), а затем публикует как swc.Но когда я пытаюсь перекомпилировать с последним SWC, происходит сбой со следующими ошибками:

Ошибка: ноль

Сборка остановлена ​​с ошибками (fcsh).

(fcsh)

Готово (1)

Ошибка равна нулю и других явных ошибок компиляции нет.

Когда я пытаюсь использовать старый fla для публикации swc, swc иногда хорошо работает с flashdevelop, но иногда он не работает по вышеуказанной причине.Я понятия не имею об этом.

Может ли кто-нибудь помочь мне с этим?

Большой думает вам, ребята, которые могут предложить мне несколько советов, поскольку это меня так раздражает.

Ответы [ 5 ]

1 голос
/ 09 апреля 2015

Я получил эту ошибку и решил ее для себя.Я установил FlashDevelop сегодня и получил эти ошибки, просто изменив значение строки с «Hello Planet» на «Hello World» или что-то еще.

Я нашел два способа решения этой проблемы:


1 Краткосрочное решение: Нажмите «Проект»> «Проверка проекта» (не удалось), затем нажмите «Проект»> «Выполнение проекта».,Теперь это работает, но если вы сделаете 1 изменение, это снова не удастся, и вам придется повторить процесс.


2 Долгосрочное решение (которое экономит время в долгосрочной перспективе): Это звучит странно, но по какой-то причине работает.Вы никогда не получите эту ошибку без всякой причины.

  1. Загрузите Flex SDK и AIR SDK из Adobe Labs.
  2. Распакуйте их, скопируйте и вставьте все файлы AIRSDK в FLEXSDK.папка.Звучит безумно, но жизненно важно.
  3. Поместите вашу объединенную папку FlexAIR где-нибудь на жестком диске, где она будет храниться в течение длительного времени.
  4. Укажите FlashDevelop на новую объединенную папку FlexAIR. *
  5. Создайте новый проект, и он будет работать!

1 голос
/ 08 марта 2012

После одного утра:

  • переустановка всей среды Flex, включая flex-sdk, flashDevelop и т. Д.
  • возврат классов и сравнение их один за другим

Мы нашли проблему :) В нашем случае это была странная проблема с перегрузкой, которая исходит из этого фрагмента кода:

private function onButtonClicked(e:Event):void
{
    e:Event = new Event(Event.CHANGE);
    dispatchEvent(e);
}

Очевидно, что парсер не сможет обнаружить перегрузку существующей переменной, если вы забудете ввести ключевое слово 'var' (третий пример):

// [Error: A conflict exists with definition e in namespace internal.]
var e:Event = new Event(Event.CHANGE); 

// OK
e = new Event(Event.CHANGE); 

// [Error: Classes must not be nested. public class Main extends Sprite] 
// or 
// [Error: null Build halted with errors (fcsh).]
e:Event = new Event(Event.CHANGE); 
1 голос
/ 02 июня 2012

Я только что столкнулся с этой проблемой и нашел способ ее исправить:

Если вы экспортируете SWC через flash, проблема может заключаться в том, как компилируется SWC.

Перейдите к Параметры публикации , на вкладке Flash нажмите кнопку Настройки , и появится новое диалоговое окно.Внизу Настройки общей библиотеки времени выполнения , выберите Связывание по умолчанию как Объединено в код и скомпилируйте swc.

Runtime Shared LibraryКогда вы добавляете некоторые конкретные классы, объекты или компоненты, создаете предварительный загрузчик, и когда это происходит, Flashdevelop не может прочитать содержимое, тогда он не скомпилирует ваш проект и вернет ошибку null ,Что довольно бестолково.

Вы заметите, что RSL swc меньше объединенного кода SWC ... в моем случае, примерно на 70% больше.

-

Одна вещь, которую я заметил.Если вы используете TLF Textfield, он автоматически создаст предварительный загрузчик и будет использовать внешний SWF для данных текстового поля.Вы можете изменить все текстовое поле TLF на классическое текстовое поле и использовать RSL swc.

0 голосов
/ 07 апреля 2017

решение заключается в использовании Java 7 (v1.7.0), дополнительная информация на этом форуме: http://www.flashdevelop.org/community/viewtopic.php?f=6&t=12900

0 голосов
/ 27 августа 2011

Это ошибка компилятора Flex - просто пересоберите и все заработает.

Обходной путь найден, и он не появится в будущих выпусках FlashDevelop.

...