我有一个带有mx:Text的flex项目。 我有一个在我的项目的开头加载的类,我希望这个类在该文本元素中输入文本。文本元素的id是“messagePanel”,但是当我尝试键入messagePanel.text时,我得到了“未定义属性的访问”。我该如何解决这个问题?
general.FMS3Connect类连接到adobe flash media media服务器,当它完成连接时我希望它在mx:Box中显示连接的偶数信息代码,它的id是messageBox。
在我的主mxml文件中,我有以下内容:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientColors="[0xFFFFFF,0xAAAAAA]"
xmlns:local="*">
<mx:Script>
<![CDATA[
import general.FMS3Connect;
private var conn:FMS3Connect= new FMS3Connect();
]]>
</mx:Script>
<mx:Text id="messageBox" color="black" text="trying to connect to server..." creationComplete="conn.connect()" >
</mx:Application>
函数connect()现在只有“messageBox.text ='test'”;
当我执行应用程序时,我收到以下错误:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
我该如何解决这个问题?
谢谢!
答案 0 :(得分:1)
等待creationcomplete事件
答案 1 :(得分:1)
问题是,您的FMS3Connect类必须引用Text元素。
最简单(但讨厌)的解决方案是将对Text元素的引用传递给connect方法,然后可以从中引用该元素。
类似......
<mx:Text id="messageBox" color="black" text="trying to connect to server..." creationComplete="conn.connect( messageBox )" >
public function connect( messageDisplay : Text ) : void {
// do usual connect stuff.
messageDisplay.text = "test";
}
这不是世界上最好的解决方案,连接不应该真正了解消息框。但它解决了你的问题!