2016-06-24 5 views
0

Я работаю в компании, которая разрабатывает приложения Mobile (C# с Unity) и Facebook (AS3 с Flashbuilder). Насколько мне известно, каждый использует те же версии связанных с IDE и SDK. Теперь я столкнулся с двумя отдельными ошибками, которые только я получаю, и никто другой (команда около 30).FlashBuilder - ошибки, которые только я получаю, и никто другой не делает

Первая ошибка, у нас было несколько функций в нашем коде C#, которые были переведены в AS3. C# позволяет перегружен функциями, в то время как AS3 не делает, поэтому, когда мы портирован на AS3, мы должны были выбрать один из следующих вариантов:

Object.SetMidposition(float x, float y); 
Object.SetMidposition(Point point); 

получил перевод в AS3 как:

Object.SetMidposition(x:Number, y:Number) 

Однако, были несколько пятен в нашей базе кода, где перевод пропустил преобразование Point в пару x, y, поэтому у нас был вызов, где он пытался Object.SetMidposition (Point), когда он искал (x, y). Это должно было быть заблуждение для всех, но по какой-то причине только ошибка для меня. Я понятия не имею, почему это только сломало для меня, и никто больше.

Вторая ошибка, разработчик сделал если заявление с XOR сравнения:

if(boolA^boolB) 
{ 
//Do stuff 
} 

я посмотрел оператор ^, и это действительно XOR, и это должно работать. И это так! Для всех, кроме меня. В моей среде я получаю сообщение об ошибке в этой строке, говоря, что я не могу неявно преобразовывать булевы в Numbers. Я понятия не имею, почему он думает, что я пытаюсь преобразовать булевы в Numbers, или почему я единственный, у кого есть эта проблема.

Таким образом, ошибка, которая должна была сломать всех, но только сломала меня, и еще одна ошибка, которая никого не сломала, а сломала меня.

Что дает? Спасибо заранее.

+0

Как построить? Как другие строят? – null

+0

Думаю, я не понимаю ваш вопрос. Проект -> Очистить или просто запустить Debug, который создает и запускает приложение. Насколько мне известно, существует всего несколько способов «построить» ваш проект. – DSalis

+0

«... где перевод пропустил конвертирование ...» ваш код не сильно напечатан? Постарайтесь это сделать, поэтому вы не можете скомпилировать до полного «перевода». – Nemi

ответ

0

В FB в разделе «Свойства проекта»> «Компилятор Flex», если «Включить проверку строгих типов» и «Включить предупреждения» отмечены, я получаю ошибку «неявное принуждение ..» при сравнении XOR. Устранение этих ошибок подавляет ошибку. Мое предпочтение заключается в том, чтобы включить проверку типов и предупреждения, но у меня низкий уровень допуска к глупым ошибкам.

Я не мог выполнить другой вопрос, который вы упомянули.


enter image description here


var boolA:Boolean = true; 
var boolB:Boolean = false; 

if(boolA^boolB) 
{ 
    trace("bingo"); 
} 
+0

Thank вы очень! Мой флажок для этого параметра был не таким же, как у вас, но как только я его нашел, он удалил ошибку. Я был бы готов поспорить, что это и другая проблема связаны. Другая проблема заключалась в том, что у нас был код, который пытался отправить Point в качестве параметра функции, которая требовала 2 Numbers (x, y), и это было только для меня, когда оно должно было ломаться для всех. Я бы сказал, что проверка типа - это то, почему она сломала его для меня и никого другого. – DSalis