【发布时间】: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:<mx:CheckBox label="AMF3" fontWeight="bold" id="useAMF3" x="10" y="40" color="#000000"/>
在我的测试期间,我正在评论我收到此错误的每一行,然后继续前进。这样我就遇到了多个这样的错误。
如果有帮助,请告诉我是否需要在此处提供 function.as 和 loadtest.mxml 文件。我不想弄乱消息。因此,暂时不发布。
感谢任何帮助!谢谢!
【问题讨论】:
-
Flex 根据需要管理对象的创建,在 mxml 中声明它们并不意味着当您尝试在 as3 代码中访问它们时这些对象将存在。
-
当我尝试在 as3 代码中访问这些声明的对象时,如何确保它们存在?
标签: java actionscript-3 flash apache-flex flashdevelop