Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/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 什么导致Flash错误#2012(不能实例化类)?_Apache Flex_Flash_Actionscript 3_Flexbuilder - Fatal编程技术网

Apache flex 什么导致Flash错误#2012(不能实例化类)?

Apache flex 什么导致Flash错误#2012(不能实例化类)?,apache-flex,flash,actionscript-3,flexbuilder,Apache Flex,Flash,Actionscript 3,Flexbuilder,我是ActionScript 3的新手,遇到了一个问题: 使用FlexBuilder3,我创建了一个包含几个简单类的项目。如果类A中的代码实例化了类B的对象(类B在它自己的源文件中),那么代码可以很好地编译,但我得到以下运行时错误: ArgumentError:Error#2012:B类无法实例化 有人能解释一下我做错了什么吗 更新:请在下面查看我自己的答案(因为我还没有注册,所以我无法投票给排名靠前的人)。这通常意味着SWF中没有包含班级信息 确保您正在导入该类,并且在某个地方有对该类的引用(

我是ActionScript 3的新手,遇到了一个问题:

使用FlexBuilder3,我创建了一个包含几个简单类的项目。如果类A中的代码实例化了类B的对象(类B在它自己的源文件中),那么代码可以很好地编译,但我得到以下运行时错误:

ArgumentError:Error#2012:B类无法实例化

有人能解释一下我做错了什么吗


更新:请在下面查看我自己的答案(因为我还没有注册,所以我无法投票给排名靠前的人)。

这通常意味着SWF中没有包含班级信息

确保您正在导入该类,并且在某个地方有对该类的引用(因此编译器会将其包含在SWF中)

顺便说一句,以下是运行时错误代码:

(虽然没有太多有用的信息)

迈克·钱伯斯


mesh@adobe.com

值得注意的是,如果您包含其他人构建的类,并且他们使用Flash CS3,而您使用的是Flex,或者反之亦然,那么每个类的核心库都是不同的,有些东西不包含在两者中。请查看两份参考文件,以确保:

CS3:


Flex:

我终于意识到了问题所在:类B是从DisplayObject派生的,我现在看到的是一个抽象类。类B没有实现抽象成员,因此出现了错误。我可能会将B类改为Sprite的子类

这似乎是编译器应该发现的问题。这并不意味着抽象成员的实现可以等到运行时吗?即使是这样,至少得到一个编译器警告也是不错的


感谢大家的回答,希望他们能帮助其他遇到错误2012的人。

编译器无法捕捉到它,因为没有关键字摘要可供编译器使用。它是通过抛出来强制执行的,因此是错误的。