Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 将类型X的值隐式强制为不相关的类型X_Apache Flex_Flash Builder - Fatal编程技术网

Apache flex 将类型X的值隐式强制为不相关的类型X

Apache flex 将类型X的值隐式强制为不相关的类型X,apache-flex,flash-builder,Apache Flex,Flash Builder,您好我有这个错误: 将类型X的值隐式强制为不相关的类型X 其中X是对象的类型,是的,它是类型X到不相关类型X。 它在我的项目中,在脚本元素的3个不同的.mxml文件中出现了6次。在我没有编辑的3个文件中,我更改的文件与有错误的3个文件没有链接 这里有一行代码与问题 var loadApplicationEvent:LoadApplicationEvent = new LoadApplicationEvent(application); 它工作得非常完美,当它编译和我更改的其他文件时,它将我和错

您好
我有这个错误:

将类型X的值隐式强制为不相关的类型X

其中X是对象的类型,是的,它是
类型X到不相关类型X
。 它在我的项目中,在脚本元素的3个不同的.mxml文件中出现了6次。在我没有编辑的3个文件中,我更改的文件与有错误的3个文件没有链接

这里有一行代码与问题

var loadApplicationEvent:LoadApplicationEvent = new LoadApplicationEvent(application);
它工作得非常完美,当它编译和我更改的其他文件时,它将我和错误放在一起

来自Flash Builder或Flex的Bug?还是没有?

我怎样才能驾驭它呢?

当您尝试将不同类型的对象分配给某个变量时,就会发生这种情况。例如,如果尝试将字符串值('4')分配给需要int(4)的对象。查找所有给定位置并更正类型转换。

这是一个隐式转换,但我无法告诉您所提供信息的确切问题

var loadApplicationEvent:LoadApplicationEvent = new LoadApplicationEvent(application);

什么类型的对象是“应用程序”,LoadApplicationEvent构造函数需要什么参数?这就是你的隐性强迫发生的地方。我猜“应用程序”与LoadApplicationEvent在其构造函数中预期的类型不同。

我也遇到了同样的问题。我通过禁用“严格类型检查”解决了这个问题


项目属性>ActionScript编译器>启用严格类型检查

我最近开始在FlashBuilder中遇到这个问题,下面是我所做的

首先是:

    protected var _foo:FooType;
(X) public function get foo():FooType { return this._foo; }
(其中(X)是Snote描述的形式的错误,X=FooType)

改为:

    protected var _foo:FooType;
    public function get foo():* { return this._foo; }
重建。无论发生什么,*类型始终通过类型检查,因此错误消失

然后将其更改回:

    protected var _foo:FooType;
    public function get foo():FooType { return this._foo; }
然后,错误消息消失,至少在一段时间内消失


到目前为止,这项技术似乎是可靠的,尽管很烦人。

在我的情况下,一切都很顺利。因此,这看起来是一个IDE问题,因为同一代码工作了几次,而另一次它向我显示了这个错误。您可以尝试几个步骤来解决此问题
1.清除已编译的代码,然后重新编译。(项目选项卡中有一个明确的选项)。
2.使用相同代码创建a文件并删除旧文件。
3.如果所有这些都不起作用,则创建另一个继承基类的类,并将预期值更改为*

例如:


       public class DataGroupOX extends DataGroup
       .....
       public function set itemRenderer2(value:*):void{
            value = value as IFactory;
            super.itemRenderer = value;
        }


   

我自己在使用Flash Builder 4.5时遇到了这个问题。返回类型与它应该的完全相同


我的解决方案是通过:project->Clean对项目进行全面重建。

至少发布一行显示此错误的代码。您是否正确检查了错误代码行中变量的数据类型?我添加了一行带有此错误的代码。这不可能是错的!为自定义事件提供(至少是构造函数和头)代码?我刚开始在FB4.6中遇到同样的问题。更改文件,获取错误信息。再次更改它(添加一个空格,无论什么)并重新保存,现在它可以工作了。清洗,漂洗,重复,一遍又一遍。它每隔编译一次就给出一个错误。很烦人。我编辑了我的信息并放了一些代码。如果尝试将字符串值('4')分配给预期为int(4)的对象,错误是
将String类型的值隐式强制转换为不相关的int类型
,但我得到的消息是
将String类型的值隐式强制转换为不相关的字符串类型
@Snote它们可以是两个不同的
String
类。它们都来自同一个名称空间吗?我也有这个问题,但我更简单的解决方案是转到
Project
->
Clean
。这似乎解决了问题。+1因为这可能是“正确的方法”,但实际上,对一个大型项目进行干净的重建需要更长的时间。触摸单个文件的好处是重建通常是优化的,修复似乎也可以正常工作。对我来说,清理没有帮助,但flashbuilder重新启动修复了它。接受的答案对我不起作用。但事实确实如此。虽然不太理想,但至少我可以继续我的工作。我不明白的是,我的项目成功地进行了几天,然后突然出现了这些错误。我还必须禁用严格的类型检查才能继续。