ERROR #1009 -> Event.ADDED_TO_STAGE?

Hey guys,
I’m currently trying to load a gallery.swf into my mainmovie.swf. But when I try this I get this ERROR #1009:

TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
	at Handle()
	at flash.display::Sprite/constructChildren()
	at flash.display::Sprite()
	at flash.display::MovieClip()
	at Gallery()
TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
	at Gallery()

The gallery.swf consists of 3 classes:

The gallery.as:

package
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.events.*;
	
	public class Gallery extends MovieClip
	{
		private var imagesToShow : Number = 4;
		public var spaceBetween : Number = 20;
		public var defaultWidth : Number = 195;
		private var backend : String = 'backend.php';
		
		private var xmlLoader:URLLoader = new URLLoader();
		private var xdata : XML;
		public var images : Array = new Array();
		private var orgImgId : Number;
		private var skipTo : Number = 0;
		private var loaded : Boolean = false;
		
		public var imagesClip : MovieClip = new MovieClip();
		public var stageWidth : Number;
		
		public function Gallery() : void
		{
			stageWidth = stage.stageWidth;
			theHandle.addEventListener( "sliding", slide );
			
			imagesClip.y = 180;
			addChild( imagesClip );

			xmlLoader.load( new URLRequest( backend + "?" + new Date().valueOf() ) );
			xmlLoader.addEventListener( Event.COMPLETE, loadImages );
			
		}
			  
		private function loadImages( _e : Event ) : void
		{
			xdata = new XML( _e.target.data );
			var i : Number = 0;
			for each( var img:XML in xdata.img )
			{
				images* = new Img( img, this );
				images*.x = 200 * i;
				images*.id = i;
				i++;
			}
			goTo( 0 );
		}
		
		private function slide( _e : Event ) : void
		{			
			var percent : Number = ( theHandle.goToX - slider.x ) / ( slider.width - theHandle.width );
			var imgId : Number = Math.round(percent * ( images.length - 1 ));
			
			goTo( imgId );
		}
		
		private function goTo( imgId : Number ) : void
		{
			var direction : Number;
			if ( orgImgId != imgId )
			{
				if ( imgId > orgImgId  ) direction = 1;
				else direction = -1;
				
				for ( var i : Number = - Math.floor(imagesToShow/2); i <= Math.floor(imagesToShow/2); i++ )
				{
					if( imgId + i < images.length && imgId + i >= 0 ) images[imgId + i].makeActive( i, direction );
				}
				
				for( var j : Number = 0; j < imagesClip.numChildren; j++ )
				{
					var tile : Img = imagesClip.getChildAt(j) as Img;
					if ( tile.id < imgId - Math.floor(imagesToShow/2) || tile.id >  imgId + Math.floor(imagesToShow/2) ) tile.deActive( direction );
				}
				countTxt.text = imgId + 1 + "/" + images.length;
			}
			orgImgId = imgId;			
		}
	}
}

The handle.as:

package  
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.events.Event;
	
	public class Handle extends MovieClip
	{	
		public var goToX : Number = x;
		private var slider : MovieClip = MovieClip(parent).slider;
		private var mousePos : Number = 0;
		
		public function Handle() : void
		{
			buttonMode = true;
			addEventListener( MouseEvent.MOUSE_DOWN, moveHandle );
			stage.addEventListener( MouseEvent.MOUSE_UP, stopHandle );
		}
		
		private function moveHandle( _e : MouseEvent ) : void
		{
			mousePos = mouseX;
			stage.addEventListener( MouseEvent.MOUSE_MOVE, followHandle );
		}
		
		private function stopHandle( _e : MouseEvent ) : void
		{
			stage.removeEventListener( MouseEvent.MOUSE_MOVE, followHandle );
		}		

		private function followHandle( _e : MouseEvent ) : void
		{
			var newPos : Number = stage.mouseX - mousePos;
			var orgX : Number = x;
			if ( newPos < slider.x )
				goToX = slider.x;
			else if ( newPos > (slider.x + slider.width) - width )
				goToX = (slider.x + slider.width) - width;
			else
				goToX = newPos;
			x = goToX;
			if( goToX != orgX ) dispatchEvent( new Event( "sliding", true ) );
		}		
		
	}
	
}

The img.as:

package
{
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.display.Bitmap;
	import flash.text.TextField;
	import flash.events.Event;
	import flash.net.URLRequest;
	import flash.events.*;
	import fl.transitions.easing.*;
	import flash.text.TextFormat;
	import gs.TweenLite;
	import fl.motion.easing.*;
	import flash.text.TextFieldAutoSize;
	
	
	public class Img extends MovieClip
	{
		public var active : Boolean = false;
		public var id : Number;
		private var src : String;
		public var imageLoader:Loader = new Loader();
		private var orgWidth:Number = 0;
		private var orgHeight:Number = 0;
		private var main : Gallery;
		private var deactivating : Boolean = false;

		public function Img( load : String, m : Gallery ) : void
		{
			orgWidth = width;
			orgHeight = height;
			main = m;
			src = load;	
			alpha = 0;
		}
		
		public function loadImage() : void
		{
			if ( numChildren < 3 )
			{
				imageLoader.load( new URLRequest( "img/" + src ) ); 
				imageLoader.contentLoaderInfo.addEventListener( Event.COMPLETE, displayImage );
			}
		}
		
		private function displayImage( _e : Event ) : void
		{
			if ( main.images[id + 1] != null && !main.images[id + 1].parent ) main.images[id + 1].loadImage();
			Bitmap( imageLoader.content ).smoothing = true;
			imageLoader.x = main.spaceBetween/2 - ( orgWidth /2 );
			imageLoader.y = main.spaceBetween/2 -( orgHeight /2 );
			addChild( imageLoader );

			var descr : TextField = new TextField();
			descr.text = src;
			descr.y = ( orgHeight /2 ) - 27;
			descr.x = 10 - ( orgWidth /2 );
			descr.autoSize = TextFieldAutoSize.LEFT;   
			descr.embedFonts = true;
			
			var format : TextFormat = new TextFormat("cFont", 15, 0);   
			format.color = 0x5B4846;    
			descr.setTextFormat( format );   
			
			addChild( descr );
		}
		
		public function makeActive( position : Number, direction : Number ) : void
		{
			deactivating = false;
			if ( parent == null ) 
			{
				x = ( direction == 1 ? main.stageWidth + main.defaultWidth * 2 : - main.defaultWidth * 2 );
				alpha = 0;
				main.imagesClip.addChild( this );
			}
			visible = true;
			if ( numChildren < 3 ) loadImage();
			parent.setChildIndex(this, ( parent.numChildren-1 ) - Math.abs( position ) );
			
			var extra : Number =  Math.round( position * ( main.defaultWidth + main.spaceBetween ) );
			var newX : Number = ( Math.round( ( main.stageWidth / 2 ) /* - ( main.defaultWidth / 2 )*/ ) + extra );
			flyTo( newX, false, (position == 0 ? 1.2 : 1 )  );
		}
		
		public function deActive( direction : Number ) : void
		{
			if ( ! deactivating )
			{
				active = false; 
				var moveTo : Number = ( direction != 1 ? main.stageWidth + main.defaultWidth * 2 : parent.x - main.defaultWidth * 2 );
				flyTo( moveTo, true );
				deactivating = true;
			}			
		}
		
		private function flyTo( newX : Number, removeAfter : Boolean, scale : Number = 1 ) : void
		{
			var tweeningOptions : Object = new Object;
			tweeningOptions.x = newX;
			
			if ( removeAfter )
			{
				tweeningOptions.ease = Linear.easeIn;
				tweeningOptions.alpha = 0;
				tweeningOptions.scaleX = tweeningOptions.scaleY = 0.3;
				tweeningOptions.visible = false;
			}
			else
			{
				tweeningOptions.scaleX = tweeningOptions.scaleY = scale;
				tweeningOptions.rotation = (Math.random() * 20) - 10;
				tweeningOptions.ease = Back.easeOut;
				tweeningOptions.alpha = 1;
			}
			TweenLite.to ( this, 0.4, tweeningOptions );
		}
		
		private function motionEnd () : void
		{ 
			visible = false;
		}
	}
}

Therefore I read through some threads and found Event.ADDED_TO_STAGE as a solution… But I’m pretty new to this and don’t realy know how to do this…
Could you help me out?

Thank you!