我是flash的新手。我在Flex中使用SWF加载器调用了这个flash代码。我得到了以下错误。这里我附上了header_text_fla的flash代码。请做必要的工作。
类型错误:错误#1009:无法访问空对象引用的属性或方法。at header_text_弗拉::MainTimeline/loaderComplete()
var myEvent:Event;
var myParams:LoaderInfo;
function loaderComplete(myEvent:Event)
{
if(this.loaderInfo.parameters.text1 != null)
{
Text1.text=this.loaderInfo.parameters.text1 as String;
}
if(this.loaderInfo.parameters.text2 != null)
{
Text2.text=this.loaderInfo.parameters.text2 as String;
}
if(this.loaderInfo.parameters.text3 != null)
{
Text3.text=this.loaderInfo.parameters.text3 as String;
}
}
function useParams()
{
}
var myLoaderInfo=new Object();
myLoaderInfo.myParamsLoaded=false;
myLoaderInfo.loaderComplete=loaderComplete;
myLoaderInfo.useParams=useParams;
this.loaderInfo.addEventListener(Event.COMPLETE, myLoaderInfo.loaderComplete );
3条答案
按热度按时间oyxsuwqo1#
问题可能是您使用了一个临时对象(myLoaderInfo)函数作为事件处理程序。由于该对象是临时的(或者至少在上面给出的代码中是临时的),并且事件是异步发送的,垃圾收集器可能会在调用函数之前清理myLoaderInfo示例,使其为空,并在调用回调函数时导致错误。
尝试将myLoaderInfo设置为类参数:
这样,垃圾回收器就不会清理它。
uurv41yg2#
我已经通过使用try catch解决了这个问题。
ryevplcw3#
:-)不错的代码。
请填写:
这将为您提供未初始化的对象,并对引发的错误负责。