Question

I have this problem :

TypeError: Error #2007: Parameter type must be non-null. at flash.events::EventDispatcher/addEventListener() at Ch05_02()

when I am running my flash doc the Ch05_02 as file

package {
   import it.gotoandplay.smartfoxserver.SmartFoxClient;
   import it.gotoandplay.smartfoxserver.SFSEvent;
   import it.gotoandplay.smartfoxserver.SFSEvent.onJoinRoom;
   import it.gotoandplay.smartfoxserver.data.Room;
   import it.gotoandplay.smartfoxserver.data.User;
   import flash.display.*;

   public class Ch05_02 extends MovieClip{
      private var _sfs:SmartFoxClient;
      private var _avatarList:Array = new Array();

      public function Ch05_02() {
         _sfs = new SmartFoxClient(true);
         _sfs.addEventListener(SFSEvent.CONNECTION, onConnection);
         _sfs.addEventListener(SFSEvent.ROOM_JOIN, onJoinRoom);
         _sfs.addEventListener(SFSEvent.USER_ENTER_ROOM, onUserEnterRoom);
         _sfs.addEventListener(SFSEvent.USER_EXIT_ROOM, onUserLeaveRoom);
         _sfs.connect("127.0.0.1",9339);
      }

      private function onConnection(e:SFSEvent):void
      {
         var ok:Boolean = e.params.success;
         if (ok){
            _sfs.login("simpleChat","myname","");
         }
      }

      private function onRoomListUpdate(e:SFSEvent):void
      {
         _sfs.autoJoin();
      }
   }
}
Was it helpful?

Solution

Looking at the documentation for SmartFox, it appears that you have the event names wrong. That's why the compiler is complaining about the type parameter being null. SFSEvent.CONNECTION, SFSEvent.ROOM_JOIN, et al do not exist and are therefore null.

You'll want to use the correct event names. SFSEvent.onConnection, SFSEvent.onJoinRoom, etc.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top