FlashBuilder - 只有我得到的错误,其他人没有
Posted
技术标签:
【中文标题】FlashBuilder - 只有我得到的错误,其他人没有【英文标题】:FlashBuilder - Errors that only I get and no one else does 【发布时间】:2016-10-27 09:27:36 【问题描述】:我在一家开发移动(使用 Unity 的 C#)和 Facebook(使用 Flashbuilder 的 AS3)应用程序的公司工作。据我所知,每个人都在使用相同版本的相关 IDE 和 SDK。我现在遇到了 2 个单独的错误,只有我得到,其他人(大约 30 人的团队)没有得到。
第一个错误,我们的 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)。这应该对每个人都有错误,但由于某种原因只对我有错误。我不知道为什么它只为我而坏,而没有其他人。
第二个错误,一个开发者做了一个带有异或比较的 if 语句:
if(boolA ^ boolB)
//Do stuff
我查找了 ^ 运算符,它确实是一个 XOR,这应该可以工作。确实如此!对于除了我之外的所有人。在我的环境中,我在这一行收到一个错误,说我不能将布尔值隐式转换为数字。我不知道为什么它认为我正在尝试将布尔值转换为数字,或者为什么我是唯一遇到此问题的人。
所以一个错误应该让每个人都崩溃,但只让我崩溃,另一个错误不应该让任何人崩溃,但让我崩溃。
什么给了? 提前致谢。
【问题讨论】:
你是如何构建的?其他人如何构建? 我想我不明白你的问题。项目 -> 清理,或者只是运行调试,它会构建并启动应用程序。据我所知,只有几种方法可以“构建”您的项目。 "...翻译错过了转换..." 您的代码不是强类型的吗?尽量做到这一点,直到完成“翻译”才能编译。 ...错误是更改状态为 RESOLVED WORKSFORME... @Vesper,究竟适合你吗?有两个问题,没有可复制的代码。事实上,我怀疑问题在于“未显示”的代码...... 【参考方案1】:在 FB 中,在 Project Properties > Flex Compiler 下,如果选中“启用严格类型检查”和“启用警告”,我会通过 XOR 比较得到“隐式强制..”错误。取消选中这些会抑制错误。我的偏好是启用类型检查和警告——但我对愚蠢的错误的容忍度很低 ?
我无法关注您提到的其他问题。
var boolA:Boolean = true;
var boolB:Boolean = false;
if(boolA ^ boolB)
trace("bingo");
【讨论】:
非常感谢!我的那个设置的复选框和你的不在同一个地方,但是一旦我找到它,它就消除了错误。我愿意打赌这个问题和其他问题是相关的。另一个问题是我们的代码试图将一个点作为参数发送给一个需要 2 个数字 (x,y) 的函数,而当它应该对每个人都造成破坏时,它才对我造成破坏。我敢打赌,类型检查就是为什么它为我破坏了它,而没有其他人破坏它。以上是关于FlashBuilder - 只有我得到的错误,其他人没有的主要内容,如果未能解决你的问题,请参考以下文章
如何在 FlashBuilder 中使用外部动作脚本类(我以为我知道)
Flash builder 4.6 Fake flex 错误
未安装 FlashBuilder ASP.NET 开发服务器