[AS2] MovieClipLoader loadClip failure

I’m having a fun little bug with the loadClip function of the MovieClipLoader class. I’ve passed it a valid MovieClip and a valid filename (verified by traces) and it still returns false. It never calls the listener object I created with a onLoadStart or onLoadError event. I’m still trying to figure out why it would return false, but I’m at a loss. It had worked before and I changed something, but I can’t remember what. I’ve looked it over a few times and I figure I might need a second eye to see what might be wrong here…


import mx.events.EventDispatcher;
import mx.utils.Delegate;

class MultiSWFManager_MiniLoader {
    public var dispatchEvent:Function;
    public var addEventListener:Function;
    public var removeEventListener:Function;
    private var _loader:MovieClipLoader;
    private var _listener:Object;
    private var _progressBar:MovieClip;
    private var _mc_target:MovieClip;
    private var _file:String;
    private var _scale:Number;
    private var _percent:Number;
    
    function MultiSWFManager_MiniLoader(file:String, target:MovieClip) {
        _loader = new MovieClipLoader();
        _listener  = new Object();
        _file = new String(file);
        _scale = new Number(1);
        _percent = new Number(0);
        _mc_target = target;
        EventDispatcher.initialize(this);
    }
    
    public function beginLoad() {
        if (_percent == 0) {
            trace('Loading ' + this._file + ' into ' + this._mc_target);
            _percent = 0.0001;
            _listener.onLoadStart = function(mc:MovieClip) { trace(mc + " started..."); }// Delegate.create(this, onLoadStart);
            _listener.onLoadError = Delegate.create(this, onLoadError);
            _listener.onLoadProgress = Delegate.create(this, onLoadProgress);
            _listener.onLoadComplete = Delegate.create(this, onLoadComplete);
            _listener.onLoadInit = Delegate.create(this, onLoadInit);
            _loader.addListener(this._listener);
            trace(_loader.loadClip(_file, _mc_target));
            _mc_target._visible = false;
        }
    }
    
    private function onLoadStart(mc:MovieClip) {
        trace(mc + " started...");
    }
    
    private function onLoadError(mc:MovieClip, errorCode:String, httpStatus:Number) {
        trace(mc + " error: " + errorCode + " (" + httpStatus + ")");
    } 
    
    private function onLoadProgress(mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
        _percent = (bytesLoaded / bytesTotal) * 100;
        _progressBar._xscale = (_scale * _percent) * .98;
    }
    
    private function onLoadComplete(target_mc:MovieClip, httpStatus:Number) {
        trace("Status: " + httpStatus);
    }
    
    private function onLoadInit(mc:MovieClip) {
        trace('	Inited ' + this._file);
        dispatchEvent ({type:"complete"});
        mc._visible = false;
    }
}

Traces:


Loading test1.swf into _level0.mc_container2
false
 

It never calls onLoadStart (I figured it might be a scope issue, so I placed the function inline. Otherwise, I created private functions for each event.)