Flash 无法访问空对象引用的属性或方法

Flash 无法访问空对象引用的属性或方法,flash,actionscript,Flash,Actionscript,现在我快疯了。。我花了一整天的时间试图修复它( 我只是不断地遇到这个错误(我不知道adobe怎么能给我们提供没有指向任何东西的错误) 这是我的代码我在舞台上有一个按钮(链接到as文件)和atextbox(未链接或任何东西) 请把这些凌乱的进口货物移走 让我猜猜。你使用的是Flash IDE(事实上,这不是猜测。上面的堆栈跟踪正是你在IDE中得到的),你在舞台上有一个名为FormURL的子MovieClip 不幸的是,Flash只会填充自定义类的公共属性,这意味着您要么需要将该变量公开,要么需要等

现在我快疯了。。我花了一整天的时间试图修复它( 我只是不断地遇到这个错误(我不知道adobe怎么能给我们提供没有指向任何东西的错误)

这是我的代码我在舞台上有一个按钮(链接到as文件)和atextbox(未链接或任何东西)

请把这些凌乱的进口货物移走


让我猜猜。你使用的是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;