Why can't I load the external movie? Please check the code

My Preloader movie is constructed with external Preloader.as class as follows :


package com {
	import flash.display.MovieClip;
	import flash.events.*;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.net.URLRequest;
	


	public class Preloader extends MovieClip {

		private var myMovie:MovieClip;
		private var loader:Loader;
		private var preloaderBar:MovieClip = new progBar();
		private static const Path:String = "main.swf";

		public function Preloader() {
			//addChild(loader);
			loader = new Loader();
			loader.load(new URLRequest(Path));
			loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler, false, 0, true);
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler, false, 0, true);
			addChild(preloaderBar);
			preloaderBar.x = 100;
			preloaderBar.y = 100;
			preloaderBar.progressFill.scaleX = 0;
		}
		private function progressHandler(e:ProgressEvent):void {
			var percent:Number = Math.ceil((e.bytesLoaded / e.bytesTotal )*100 );
			//trace(percent + " %  loaded");
			preloaderBar.progressFill.scaleX = percent;
			preloaderBar.progress_text.x = percent;
			preloaderBar.progress_text.text = (percent + "%");

		}

		private function onCompleteHandler(e:Event):void {
			removeChild(preloaderBar);
			//percent = null;
			myMovie = MovieClip(loader.content);
			stage.addChild (myMovie);
			//myMovie.play();
			//nextFrame();
			loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressHandler);
			loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,onCompleteHandler);
			loader = null;
		}

	}
}


And my Main.swf is constructed with external class as follows :


package com {
	import caurina.transitions.Tweener;
	import flash.display.MovieClip;
	import flash.display.Loader;	
	import flash.display.LoaderInfo;
	import flash.net.URLRequest;
	import flash.display.Sprite;
	import flash.display.Stage;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.*;
	//Call the layout color background
	import flash.events.MouseEvent;
	import bndsolutions.layout.*;
	import flash.geom.ColorTransform;
	import flash.display.BlendMode;
	import flash.filters.DropShadowFilter;

	public class Main extends MovieClip {
		//background
		private var _bg:Background;
				
		public function Main() {
			init();
		}
		//private function init():void {
		//trace ("WebSite Initiated.Hooooray!!!!")
		//}
		private function init():void {

			initStage();
			//add background
			addBackground();
			onStageResize();
		}
		//The layout setting begin here
		public function initStage():void {
			stage.frameRate = 31;
			stage.showDefaultContextMenu = false;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			stage.addEventListener(Event.RESIZE,onStageResize);
		}
		//private function onStageResize(e:Event):void
		private function onStageResize(...eventArray:Array):void {
			
			_bg.resize(stage.stageWidth, stage.stageHeight);
		}
		//add background
		private function addBackground():void {

			_bg = new Background();
			stage.addChild(_bg);
		}
	}
}


Problem : Every time I run Preloader.swf I got this error message :


Error #1009: Cannot access a property or method of a null object reference

Can someone help please?