项目中采用了module方式,在使用ModuleLoaer时碰到了这些问题,记录如下
1.主页面采用Pop窗口的方式,在popedWin中有一个moduleLoader,在加载SWF后,总会报一些某对象为空之类的异常,GOOGLE一下,找到一些解决办法,就是在moduleLoader的creationComplete事件方法里写moduleLoader.applicationDomain = ApplicationDomain.rrentDomain,不过没啥用,后来直接在mxml中<mx:ModuleLoader width="100%" height="100%" id="loader" applicationDomain="{flash.system.ApplicationDomain.currentDomain}" />
解决。
2.在1的moduleLoader里加载了一个SWF,这个SWF里有个嵌套的moduleLoader,问题又来了,用上面的办法就不管用了,错误提示信息大致就是远程某方法不能调用,方法参数是XXX类型,转换之后为NULL这类,google之后,说是OV的注册信息丢失。
也就是这个了[RemoteClass(alias="com.abc.UesrVO")],需要在Application下使用
import flash.net.registerClassAlias;
import mx.messaging.messages.RemotingMessage;
import VO.UserVO;
registerClassAlias("com.abc.UesrVO", UserVO);
解决。。
1.主页面采用Pop窗口的方式,在popedWin中有一个moduleLoader,在加载SWF后,总会报一些某对象为空之类的异常,GOOGLE一下,找到一些解决办法,就是在moduleLoader的creationComplete事件方法里写moduleLoader.applicationDomain = ApplicationDomain.rrentDomain,不过没啥用,后来直接在mxml中<mx:ModuleLoader width="100%" height="100%" id="loader" applicationDomain="{flash.system.ApplicationDomain.currentDomain}" />
解决。
2.在1的moduleLoader里加载了一个SWF,这个SWF里有个嵌套的moduleLoader,问题又来了,用上面的办法就不管用了,错误提示信息大致就是远程某方法不能调用,方法参数是XXX类型,转换之后为NULL这类,google之后,说是OV的注册信息丢失。
也就是这个了[RemoteClass(alias="com.abc.UesrVO")],需要在Application下使用
import flash.net.registerClassAlias;
import mx.messaging.messages.RemotingMessage;
import VO.UserVO;
registerClassAlias("com.abc.UesrVO", UserVO);
解决。。