I have a movieclip that displays a slideshow. Starting a few days ago I get a error message from Flash Player 10 saying
“TypeError: Error #2007: Parameter url must be non-null.
at flash.display::Loader/_load()
at flash.display::Loader/load()
at slides/switchPhoto()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()”
Here is the actionscript package for the error
package
{
import flash.display.MovieClip;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.utils.Timer;
import fl.transitions.Tween;
import fl.transitions.easing.*;
public class slides extends MovieClip
{
var loader:URLLoader;
var theXML:XML;
var photos:XMLList;
var photoLoader:Loader;
var photoArray:Array;
var fade:Tween;
var curr:Number;
var timer:Timer;
var timey:timeDisplay;
public function slides():void
{
loader = new URLLoader();
loader.load(new URLRequest("photos.xml"));
loader.addEventListener(Event.COMPLETE, getXML);
photoArray = new Array();
curr = 0;
timer = new Timer(5000);
timer.addEventListener(TimerEvent.TIMER, switchPhoto);
timey = new timeDisplay();
timey.x = 235;
timey.y = 93.5;
}
private function getXML(e:Event):void
{
theXML = new XML(e.target.data);
photos = new XMLList(theXML.photo);
for(var i:int=0;i<photos.length();i++)
{
photoArray.push(photos*.@url);
}
timer.start();
switchPhoto(null);
}
private function switchPhoto(e:TimerEvent):void
{
if(curr < photoArray.length)
{
photoLoader = new Loader();
curr = Math.ceil(Math.random() * photoArray.length);
photoLoader.load(new URLRequest(photoArray[curr]));
photoLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, removeTimey);
}
else
{
curr = 0;
switchPhoto(null);
photoLoader.unload();
}
}
private function showProgress(e:ProgressEvent):void
{
this.addChild(timey);
var perc:Number = Math.floor(e.bytesLoaded / e.bytesTotal * 100);
timey.timerText.text = perc + "%";
}
private function removeTimey(e:Event):void
{
this.addChild(photoLoader);
fade = new Tween(photoLoader,"alpha",None.easeNone,0,1,2,true);
}
}
}
Any help in solving this issue will be appreciated.