title: Flash Stage is Null
body: <p>Here's a very simple AS3 project. The stage is not null in the main class, but it is in the AppMan class, and that's where I want to access it. Why?</p>
  
  <p>Here's my main class, called StageText.as:</p>
  
  <pre><code>package
  {
  import flash.display.Sprite;
  import flash.display.StageAlign;
  import flash.display.StageQuality;
  import flash.display.StageScaleMode;
  
  stage.scaleMode = StageScaleMode.NO_SCALE; //here, the stage is not null.
  stage.align     = StageAlign.TOP_LEFT;
  
  public class StageText extends Sprite
  {
      private var appMan:AppMan = new AppMan();
  
      public function StageText()
      {
          appMan.startApp();
  
      }
  }
  }
  </code></pre>
  
  <p>Then, in the same folder I've got the AppMan.as class. </p>
  
  <pre><code>package
  {
  import flash.events.Event;
  import flash.display.Sprite;
  import flash.text.TextField;
  import flash.display.StageAlign;
  import flash.display.StageQuality;
  import flash.display.StageScaleMode;
  
  public class AppMan extends Sprite
  {
      public var textField:TextField;
  
      // Application Width, Height
      public var appW:Number;
      public var appH:Number;
  
      public function AppMan()
      {
          super();
      }
  
      public function startApp():void {
  
          // create textfield
          textField = new TextField();
          textField.wordWrap = true;
          textField.width = 540;
          textField.height = 400;
          textField.text  = "Hello World";
          addChild(textField);
                      //if I try to run init in response to Event.ADDED_TO_STAGE, it never runs
          this.addEventListener(Event.ADDED_TO_STAGE, init); 
                      //Or, if I run init() without the eventListener, I get a runtime error
                      //indicating that the stage is null
          //init();
  
  
      }
  
      private function init(e:Event):void {
      //private function init():void {
  
          stage.scaleMode = StageScaleMode.NO_SCALE;
          stage.align     = StageAlign.TOP_LEFT;
          stage.quality   = StageQuality.HIGH;
          appW = stage.stageWidth;
          appH = stage.stageHeight; 
      }
  }
  }
  </code></pre>