这让我发疯了。似乎我不能在我的AS3代码中使用ScrollPane ANYWHERE而不会崩溃程序中的每个下拉框。
以下是点击下拉框时收到的错误消息:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.containers::BaseScrollPane/drawBackground()
at fl.controls::List/draw()
at fl.core::UIComponent/drawNow()
at fl.controls::List/scrollToIndex()
at fl.controls::SelectableList/scrollToSelected()
at fl.controls::ComboBox/open()
at fl.controls::ComboBox/onToggleListVisibility()
单击任何下拉框时会发生这种情况,无论是否已执行引用ScrollPane的代码。真正迟钝的事情是,我甚至无法声明scrollPane var而不会导致这些错误。 IE这个:
var x:ScrollPane;
导致所有下拉列表中断。不,我不是在没有初始化的情况下尝试引用x。使用“new”初始化Scrollpanes会导致同样的问题,并将任何内容转换为ScrollPane。
为了解决这个问题,我一直在fla中创建滚动窗口并从AS引用它们。这不会破坏程序,我可以访问它们的属性。他们甚至以这种方式工作。
简而言之,在程序的任何地方使用“ScrollPane”一词就会破坏它。这不仅仅是我的系统。它发生在至少与我合作的其他两个开发者身上。
有什么想法吗?
编辑:
因此,在搜索了互联网一段时间之后,大多数人都通过遵循下面的bhup建议并将组件添加到库来解决这个问题。我正在从窗口向我的主fla添加这个东西 - >组件 - > ScrollPane,它确实出现在库中。它仍然无法正常工作。我甚至在舞台上放了一个实例,以确保它具有所需的所有符号无济于事。有谁知道任何可能不正确的设置或我可以看到的任何其他设置?如有必要,我会提供任何信息。
答案 0 :(得分:2)
ScrollPane不属于ActionScript-3的核心库,因此在实例化或定义Components类的变量之前,需要将该特定组件添加到库中。你可以在(FLASH_INSTALL_DIR / LANGUAGE / Configuration / Component)和(FLASH_INSTALL_DIR / LANGUAGE / Configuration / Components)文件夹中找到组件源(FLASH_INSTALL_DIR / LANGUAGE / Configuration / Component Source)和组件UI。