Nobody can help me?????????????

I have more than 2 days trying to fix it....but i can not....
Maybe i have explained in wrong way my problem.

Thanks in advance.

--- In [email protected], "txakin" <[EMAIL PROTECTED]> wrote:
>
> 
> Hi all
> 
> I´m trying to display an image from database in my application 
using
> Cairngorm framework.
> 
> I always get the same error :
> 
> TypeError: Error #2007: The parameter listener must not be NULL
> 
>                  at flash.events::EventDispatcher/addEventListener
()
> 
> and I don´t know if is because my source is incorrect or because
> i´m forgetting some step.
> 
> Here I will send u my source….and my classes.
> 
> 
> 
> I´m going to try to explain my source step by step.
> 
> 1.      First of all….i have one repeater it calls other component:
> 
> <mx:Repeater id="grdMovies" width="100%" height="100%"
> horizontalCenter="0" bottom="0">
> 
> 
> 
>              <detail:detailMovie id="detailmovie"
> myMovie="{grdMovies.currentItem}"/>
> 
>              <mx:HRule width="90%"/>
> 
>        </mx:Repeater>
> 
> 
> 
>     1. My component detailMovie calls my event to get my image.
> 
> 
> 
> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"; width="548"
> height="142"
> 
>                 backgroundColor="#FFFFFF" backgroundAlpha="0.0"
> creationComplete="loadData();">
> 
> 
> 
>              <mx:Script>
> 
>                    <![CDATA[
> 
>                    public function loadData():void
> 
>                    {
> 
>                          var 
getCoverRepeaterEvent:GetCoverRepeaterEvent
> = new GetCoverRepeaterEvent(myMovie.movieId);
> 
>                          getCoverRepeaterEvent.dispatch();
> 
>                    }
> 
> 
> 
>                    public function
> loaderCompleteHandler(event:Event):void
> 
>                    {
> 
>                          this.movie_cover.source =
> event.currentTarget.content as Bitmap;
> 
>                    }
> 
> ]]>
> 
> </mx:Script>
> 
> 
> 
> <mx:Image x="10" y="31" width="91" height="101" id="movie_cover"/>
> 
> </mx:Canvas>
> 
> 
> 
> 
> 
>     1. SampleController :
> 
> 
> 
> package com.cairngorm.control {
> 
> 
> 
>        import com.adobe.cairngorm.control.FrontController;
> 
>        import com.cairngorm.commands.*;
> 
>        import com.cairngorm.commands.movieimage.repeater.*;
> 
>        import com.cairngorm.events.movieimage.repeater.*;
> 
> 
> 
>        public class SampleController extends FrontController {
> 
> 
> 
>              public function SampleController() {
> 
>                    this.initialize();
> 
>              }
> 
> 
> 
>              public function initialize():void {
> 
> 
> 
>                    // ADD COMMANDS
> 
>                    this.addCommand(
> GetCoverRepeaterEvent.GET_COVER_REPEATER, GetCoverRepeaterCommand);
> 
> 
> 
>                    …………………………other commands
> ……………………….
> 
>              }
> 
> 
> 
>        }
> 
> }
> 
> 
> 
>     1. MovieImageDelegate : Here i call the java class....and is
> correct....but i have taken it out my java class....because i 
think is
> not very important
> 
> 
> 
> package com.cairngorm.business.movieimage
> 
> {
> 
>        import com.adobe.cairngorm.business.ServiceLocator;
> 
> 
> 
>        import mx.rpc.IResponder;
> 
> 
> 
>        public class MovieImageDelegate
> 
>        {
> 
>              private var responder : IResponder;
> 
>              private var service : Object;
> 
> 
> 
>              public function MovieImageDelegate(responder : 
IResponder)
> 
>              {
> 
>                    this.responder = responder;
> 
>                    this.service =
> ServiceLocator.getInstance().getRemoteObject("movieImageObject");
> 
>              }
> 
> 
> 
>              public function getCover(pMovieImageId:String):void
> 
>              {
> 
>                    var call:Object = service.getCover
(pMovieImageId);
> 
>                    call.addResponder(responder);
> 
>              }
> 
>        }
> 
> }
> 
> 
> 
>     1. GetCoverRepeaterEvent :
> 
> 
> 
> package com.cairngorm.events.movieimage.repeater
> 
> {
> 
>        import com.adobe.cairngorm.control.CairngormEvent;
> 
> 
> 
>        import flash.events.Event;
> 
> 
> 
>        public class GetCoverRepeaterEvent extends CairngormEvent  {
> 
> 
> 
>              public static const GET_COVER_REPEATER:String =
> "GetCoverRepeater";
> 
> 
> 
>              public var movieImageId:String;
> 
> 
> 
>              public function
> GetCoverRepeaterEvent(submittedMovieImageId:String) {
> 
>                    movieImageId = submittedMovieImageId;
> 
>                    super(GET_COVER_REPEATER);
> 
>              }
> 
> 
> 
>              override public function clone():Event {
> 
>                    return new GetCoverRepeaterEvent(movieImageId);
> 
>              }
> 
> 
> 
>        }
> 
>     }
> 
> 
> 
>     1. GetCoverRepeaterCommand : Here I get correctly my image
> 
> 
> 
> package com.cairngorm.commands.movieimage.repeater
> 
> {
> 
>        import com.adobe.cairngorm.commands.ICommand;
> 
>        import com.adobe.cairngorm.control.CairngormEvent;
> 
>        import com.cairngorm.business.movieimage.MovieImageDelegate;
> 
>        import
> com.cairngorm.events.movieimage.repeater.GetCoverRepeaterEvent;
> 
>        import com.cairngorm.model.ViewModelLocator;
> 
>        import com.cairngorm.vo.MovieImage;
> 
> 
> 
>        import mx.controls.Alert;
> 
>        import mx.rpc.IResponder;
> 
> 
> 
>        public class GetCoverRepeaterCommand implements ICommand,
> IResponder
> 
>        {
> 
>              public var modelLocator:ViewModelLocator =
> ViewModelLocator.getInstance();
> 
> 
> 
>              public function GetCoverRepeaterCommand() {
> 
> 
> 
>              }
> 
> 
> 
>              public function execute(event:CairngormEvent):void {
> 
> 
> 
>                    var getCoverRepeaterEvent:GetCoverRepeaterEvent 
=
> event as GetCoverRepeaterEvent;
> 
>                    var delegate:MovieImageDelegate = new
> MovieImageDelegate(this);
> 
>                    delegate.getCover
(getCoverRepeaterEvent.movieImageId);
> 
>              }
> 
> 
> 
>              public function result(event:Object):void
> 
>              {
> 
>                    if (event.result == null)
> 
>                    {
> 
>                          Alert.show("The cover can not be
> displayed.","WARNING");
> 
>                          modelLocator.movieCoverRepeater = null;
> 
>                    }
> 
>                    else
> 
>                    {
> 
>                          var myMovieImage:MovieImage = 
event.result as
> MovieImage;
> 
>                          modelLocator.movieCoverRepeater =
> myMovieImage.cover;
> 
>                          modelLocator.displayImageRepeater();
> 
>                    }
> 
>              }
> 
> 
> 
>              public function fault(event:Object):void
> 
>              {
> 
>                    trace("Service Error!!!!! " + event.toString());
> 
> Alert.show("Can not open the database connection. Inform to the
> administrator!!!!!" + event.toString().substr(0,600),"ERROR
> CONFIGURATION");
> 
> }
> 
> 
> 
>        }
> 
>     }
> 
> 
> 
> 
> 
>     1. ViewModelLocator :
> 
> 
> 
> package com.cairngorm.model {
> 
> 
> 
>        import com.adobe.cairngorm.model.IModelLocator;
> 
>        import com.cairngorm.vo.Movie;
> 
> 
> 
>        import flash.display.DisplayObject;
> 
>        import flash.events.Event;
> 
>        import flash.utils.ByteArray;
> 
> 
> 
>        import mx.events.IndexChangedEvent;
> 
> 
> 
>        [Bindable]
> 
>        public class ViewModelLocator implements IModelLocator {
> 
> 
> 
>              private static var instance:ViewModelLocator;
> 
> 
> 
>              public function ViewModelLocator
(enforcer:SingletonEnforcer)
> {
> 
>              if (enforcer == null) {
> 
>                          throw new Error( "You Can Only Have One
> ViewModelLocator" );
> 
>                    }
> 
>              }
> 
> 
> 
>              public static function getInstance() : 
ViewModelLocator {
> 
>                    if (instance == null) {
> 
>                          instance = new ViewModelLocator( new
> SingletonEnforcer );
> 
>                    }
> 
>                    return instance;
> 
>              }
> 
> 
> 
>              // DEFINE YOUR VARIABLES HERE
> 
>              ………….. other variables …………………
> 
> public var movieCoverRepeater:ByteArray;
> 
> 
> 
>              public var workflowState:uint = 0;
> 
> 
> 
>              // DEFINE VIEW CONSTANTS
> 
>              public static const LOGIN_SCREEN:uint = 0;
> 
>              public static const MAIN_SCREEN:uint = 1;
> 
> 
> 
> 
> 
>              import flash.display.Loader;
> 
> 
> 
>              public function displayImageRepeater():void {
> 
>                    if (this.movieCoverRepeater != null &&
> this.movieCoverRepeater.length > 0)
> 
>                    {
> 
>                          var loader:Loader = new Loader();
> 
>                          loader.loadBytes(this.movieCoverRepeater);
> 
>              loader.contentLoaderInfo.addEventListener
(Event.COMPLETE,
> 
Application.application.repeatermovies.detailmovie.loaderCompleteHand
ler\
> );
> 
>                    }
> 
>              }
> 
>        }
> 
>     }
> 
> 
> 
> // Utility Class to Deny Access to Constructor
> 
> class SingletonEnforcer {}
> 
> 
> 
> 
> 
> 
> 
>        Then when I execute the addEventListener….i always get the
> error:
> 
> TypeError: Error #2007: The parameter listener must not be NULL
> 
>                                  at
> flash.events::EventDispatcher/addEventListener()
> 
> 
> 
>                  I don´t know why……. Maybe I need to call my
> functions after execute one event in my application or I lose some
> source in my classes? I must tell…..untill call the
> addEventListener….all the values are correct……and my image has
> value.
> 
> 
> 
> I hope someone can help me....because i have 2 
days....blocked....and
> i´m going to become crazy.
> 
> 
> 
> Sorry if my englisg is not so good....but i´m spanish.
> 
> 
> 
>        Thanks is advance…..
>


Reply via email to