【问题标题】:.mxml and .as issue: Error #1009: Cannot access a property or method of a null object reference.mxml 和 .as 问题:错误 #1009:无法访问空对象引用的属性或方法
【发布时间】:2014-08-27 09:28:43
【问题描述】:

我已经从 Red5 服务器代码库下载了 loadtest 演示的源代码,并尝试在我的本地进行设置。我正在使用 FlashDevelop 来设置 Flash 客户端。在构建阶段,我意识到,这段代码是很久以前写的,因此,我使用的大多数最新的 SDK 和 jar 都需要替换为旧版本。

我现在能够在 Eclipse 中成功构建代码库,并将该项目作为 Flash(AS3) 项目导入 FlashDevelop。但是,当我在调试模式下运行它时,我会收到很多 Error #1009: Cannot access a property or method of a null object reference 错误。当我用调试器追溯时,我发现所有在 .mxml 文件中创建的对象,当它们在 .as 文件中使用时,我收到了这个错误。

我是 ActionScript/Flex 的新手。我在网上做了很多关于这个错误的阅读。我发现,当一个对象在被初始化之前被使用时,就会发生这种情况。但是,在这个项目中,一切似乎都很好。

所以,我怀疑它可能是 Flash Player 的任何版本问题或其他问题。我在这里列出了一些遇到 Error#1009 的行:

第 1 行错误(requestDelay 抛出错误#1009):

function.as:log('Load delay: '+requestDelay.text);

加载测试.mxml:

<mx:Label text="Request delay" fontWeight="bold"/>
<mx:TextInput id="requestDelay" text="1" width="30" toolTip="For a minimal delay input .1"/>

第 2 行错误(useAMF3 抛出错误#1009):

function.as:viewer.setEncoding(useAMF3.selected === true ? 3 : 0);

loadtest.mxml:&lt;mx:CheckBox label="AMF3" fontWeight="bold" id="useAMF3" x="10" y="40" color="#000000"/&gt;

在我的测试期间,我正在评论我收到此错误的每一行,然后继续前进。这样我就遇到了多个这样的错误。

如果有帮助,请告诉我是否需要在此处提供 function.asloadtest.mxml 文件。我不想弄乱消息。因此,暂时不发布。

感谢任何帮助!谢谢!

【问题讨论】:

  • Flex 根据需要管理对象的创建,在 mxml 中声明它们并不意味着当您尝试在 as3 代码中访问它们时这些对象将存在。
  • 当我尝试在 as3 代码中访问这些声明的对象时,如何确保它们存在?

标签: java actionscript-3 flash apache-flex flashdevelop


【解决方案1】:

当一个组件被创建时,它需要一些时间才能准备好,使用 creationComplete 事件并添加一个处理程序来完成你的工作,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-29
    • 2013-05-16
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多