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();
}
}
}
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.