# Loading external images with preloader

**URL:** <https://forum.kirupa.com/t/loading-external-images-with-preloader/273707>\
**Category:** Uncategorized\
**Created:** [October 19, 2008, 2:40pm UTC](https://forum.kirupa.com/t/loading-external-images-with-preloader/273707 "2008-10-19T14:40:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![m00nz00mer](https://avatars.discourse-cdn.com/v4/letter/m/4af34b/32.png) [@m00nz00mer](https://forum.kirupa.com/u/m00nz00mer)\
**Post date:** [October 19, 2008, 2:40pm UTC](https://forum.kirupa.com/t/loading-external-images-with-preloader/273707/1 "2008-10-19T14:40:24Z")

</div>

I have my main fla actionscript that adds buttons to the stage and then on rollover of each button it calls te loaderClass.as to load an external image.

Im getting this type error…

TypeError: Error #1009: Cannot access a property or method of a null object reference.  
at LoaderClass/loadImage()  
at testSiteExternalClass\_fla::MainTimeline/buttonMouseOver()

my fla actionscript code is:

```auto
function buttonMouseOver(e:MouseEvent):void 
{
	clearRollover()
	
	var current:*
	current = e.target
	
	current.smallButtonBackground.gotoAndPlay(2);
	
	//set the text back to rollover state
	TweenLite.to(current.titleTXTMC.smallButtonTitleTXT, 0.4, {y:10, ease:Quartic.easeOut, onComplete:onFinish});

	function onFinish():void {
			TweenLite.to(current.smallButtonCatMC.smallButtonCatTXT, 0.4, {y:10, alpha:1, ease:Quartic.easeOut});
	}

	removeChild(imageMC);
	
	imageMC = new MovieClip();
	
	addChildAt(imageMC, 0);
	
	for(var i:int = 0; i < buttonArray.length; i++)
	{		
		if (buttonArray*.idVar <= e.target.idVar)
		{
			TweenLite.to(buttonArray*, 0.3, {y:buttonArray*.yPosVar, ease:Quartic.easeOut});
		}
		else
		{
			TweenLite.to(buttonArray*, 0.3, {y:buttonArray*.yPosVar + 42, ease:Quartic.easeOut});
		}
	}
	
	loaderClass.loadImage(current.bgImage, imageMC);
	
}

```

and this is my loaderClass.as

```auto
package {
	
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.events.*;
	import flash.net.URLRequest;
	
	public class LoaderClass extends MovieClip {
		
		private var imageLoader:Loader;
		private var mcTarget:MovieClip;
		
		public function LoaderClass() {
			
		}
		
		public function onProgress(e:ProgressEvent):void {
			
			var loaded:Number = e.bytesLoaded;
			var total:Number = e.bytesTotal;
			var perc:Number = loaded/total;
			e.target.preloaderMC.loaderBar.scaleX = perc;
		}
		
		private function onComplete(evt:Event) {
				
				mcTarget.addChild(imageLoader.content);
				imageLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onComplete);

		}
		
		public function loadImage(url:String, mc:MovieClip) {
			
			imageLoader = new Loader();			
			var imageRequest = new URLRequest(url);
			mcTarget = mc;

			imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
			imageLoader.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
			imageLoader.load(imageRequest);
			
		}
		
	}
	
}

```

can anyone see why im getting this output?
