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 开发服务器

AS3 flashbuilder 中/** */注释的快捷键是什么啊。还有快速排版的快捷键

处理一个项目的多个版本的 Flash Builder 最佳实践