【发布时间】:2011-07-12 17:38:25
【问题描述】:
我正在尝试调用自定义组件,但它一直告诉我:
TypeError: Error #1007: Instantiation attempted on a non-constructor.
at flexlib.containers::WindowShade/createOrReplaceHeaderButton()[C:\Users\user\Adobe Flash Builder 4\flexlib\src\flexlib\containers\WindowShade.as:205]
at flexlib.containers::WindowShade/createChildren()[C:\Users\user\Adobe Flash Builder 4\flexlib\src\flexlib\containers\WindowShade.as:320]
这是我正在调用的组件,它一直给我错误:
<flcont:WindowShade>
<!-- this gives an error -->
</flcont:WindowShade>
以下是上述错误中的方法:
protected function createOrReplaceHeaderButton():void {
if(_headerButton) {
_headerButton.removeEventListener(MouseEvent.CLICK, headerButton_clickHandler);
if(rawChildren.contains(_headerButton)) {
rawChildren.removeChild(_headerButton);
}
}
if(_headerRenderer) {
_headerButton = _headerRenderer.newInstance() as Button;
}
else {
var headerClass:Class = getStyle("headerClass");
_headerButton = new headerClass();//error here
}
applyHeaderButtonStyles(_headerButton);
_headerButton.addEventListener(MouseEvent.CLICK, headerButton_clickHandler);
rawChildren.addChild(_headerButton);
}
override protected function createChildren():void {
super.createChildren();
createOrReplaceHeaderButton();
}
【问题讨论】:
-
似乎 getStyle ("headerClass") 返回了一些意想不到的东西。或许您需要在
标签中添加一些内容? -
啊我修好了,一行我不记得在我的 css 中注释掉了。谢谢:)
-
您应该回答自己的问题并接受它以将问题标记为已解决。
-
我不认为我可以,因为我不是注册用户。
标签: flash apache-flex components adobe instantiation