Flash 无法访问空对象引用的属性或方法
现在我快疯了。。我花了一整天的时间试图修复它( 我只是不断地遇到这个错误(我不知道adobe怎么能给我们提供没有指向任何东西的错误) 这是我的代码我在舞台上有一个按钮(链接到as文件)和atextbox(未链接或任何东西) 请把这些凌乱的进口货物移走Flash 无法访问空对象引用的属性或方法,flash,actionscript,Flash,Actionscript,现在我快疯了。。我花了一整天的时间试图修复它( 我只是不断地遇到这个错误(我不知道adobe怎么能给我们提供没有指向任何东西的错误) 这是我的代码我在舞台上有一个按钮(链接到as文件)和atextbox(未链接或任何东西) 请把这些凌乱的进口货物移走 让我猜猜。你使用的是Flash IDE(事实上,这不是猜测。上面的堆栈跟踪正是你在IDE中得到的),你在舞台上有一个名为FormURL的子MovieClip 不幸的是,Flash只会填充自定义类的公共属性,这意味着您要么需要将该变量公开,要么需要等
让我猜猜。你使用的是Flash IDE(事实上,这不是猜测。上面的堆栈跟踪正是你在IDE中得到的),你在舞台上有一个名为FormURL的子MovieClip 不幸的是,Flash只会填充自定义类的公共属性,这意味着您要么需要将该变量公开,要么需要等到
Event.ADDED
并调用FormURL=MovieClip(getChildByName(“FormURL”);
旁注:AS3的首选样式是所有变量都以小写字母开头
快速修复:
这应该有效。用以下内容替换构造函数:
public function AddPhoto(){ addEventListener( Event.ADDED, addedHandler ); }
private function addedHandler( event:Event ):void
{
FromURL = MovieClip( getChildByName( "FormURL" ) );
}
尝试:
您声明了FromUrl变量,但没有为其创建新实例。这可能是问题所在。谢谢您的说明,我会确保遵循它。.但仍然会出现相同的错误,因为它们是公共或私有的。.您是否已启用自动声明阶段实例?您已确保所有内容的命名正确吗?100%正确d即使它们被命名错误,那也不是我得到的错误;)好吧,可能是,问题是你试图访问一个Flash认为不应该存在的对象,其中一个原因是命名错误。您可能要等到Event.ADDED或ADDED_to_STAGE,然后FormURL=MovieClip(getChildByName(“FormURL”))hmm。。有线!!整个问题都是由于在我的舞台上访问电影剪辑时出错造成的,尽管我在我的舞台上启用了自动声明功能。。但是有什么办法可以解决这个问题呢。。
package loader
{
import flash.events.* ;
import flash.net.*;
import flash.display.* ;
import flash.media.* ;
import flash.display.Loader ;
import flash.display.LoaderInfo;
import flash.system.*;
import flash.text.TextField;
import flash.utils.*;
public class AddPhoto extends MovieClip {
//variables
private var FromURL:MovieClip;
private var geurl:TextField;
public var reques:URLRequest = new URLRequest (); //pass nothing yet
public var getit:Loader = new Loader(); // the loader
//constructor function
public function AddPhoto () {
FromURL.addEventListener (MouseEvent.CLICK , addFromURL ) // just a button
}
public function addFromURL (e:MouseEvent) {
reques.url = geurl.text ; // geurl is the txt box i have on the stage
getit.load (reques);
addChild(getit);
}
}
}
public function AddPhoto(){ addEventListener( Event.ADDED, addedHandler ); }
private function addedHandler( event:Event ):void
{
FromURL = MovieClip( getChildByName( "FormURL" ) );
}
private var FromURL:MovieClip = new MovieClip;