Cannot access a property or method of a null object referenc

Intrebari despre Actionscript 3.0

Cannot access a property or method of a null object referenc

Mesajde slyfer » Sâm Mar 24, 2012 12:51 pm

Salutare.Am urmatorul cod.Clasa pare fuctionala cu o singura exceptie."beginSpace" care ii atribui valoarea folosind comanda
Cod: Selectaţi tot
stage.stageWidth
.Ar trebui sa afiseze lungimea la jumatate dar imi tot apare eroarea "Cannot access a property or method of a null object reference".Din ce cauza nu pot sa apelez proprietatea in interiorul clasei?
Cod: Selectaţi tot
package app.tools{
   import flash.display.MovieClip
   public class ToolBuilder extends MovieClip {
      private var objArray:Array = new Array();
      public function ToolBuilder(appData:Array) {
         objArray=appData;
         build();
      }
      private function build() {
        var space:Number=10;
      var beginSpace:Number=stage.stageHeight
      for(var i:uint;i<objArray.length;i++){
        var button:MovieClip = new ButtonComponent()
        button.x=beginSpace+i*(button.width+space)
        addChild(button)
         }
      }
   }
}

Multumesc.
slyfer
 
Mesaje: 14
Membru din: Joi Dec 30, 2010 1:38 pm
Localitate: Brasov

Re: Cannot access a property or method of a null object refe

Mesajde Barna Biro » Sâm Mar 24, 2012 8:43 pm

E din cauza ca obiectul tau nu are acces la instanta stage-ului ( stage fiind null in momentul apelarii / accesarii ). Cel mai bine ar fi sa nu accesezi stage-ul in acest fel din diferite clase ci ba sa pasezi instanta stage-ului explicit ( ca si parametru la metoda / constructor / setter / proprietate publica din afara clasei tale ) sau mai bine, pasezi direct valoarea width-ului la stage. Clasa ta nu ar trebui sa stie de stage, nu ar trebui sa depinda de stage... Ar trebui doar sa primeasca o valoare de width din exterior ( fie acea valoare citita de la stage sau orice alt obiect sau hardcodat, etc. ) si sa foloseasca acea valoare pentru diferite calcule.
Imagine
Avatar utilizator
Barna Biro
Administrator
 
Mesaje: 2037
Membru din: Vin Iul 25, 2008 1:06 am
Localitate: Lucerne, Switzerland


Înapoi la ActionScript 3.0

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 1 vizitator

cron