Answers
今天无意中想到了问题所在:
在Main中的侦听事件为:
if (loaderInfo.hasOwnProperty("uncaughtErrorEvents")) {
loaderInfo["uncaughtErrorEvents"].addEventListener("uncaughtError", uncaughtErrorHandler);
}
这里的
loaderInfo == root.loaderInfo
。而采用
[Frame(factoryClass="PreLoader")]
后,文档类实际上变成了
PreLoader
,因此,侦听
uncaughtErrorEvents
,需要用
PreLoader.loaderInfo
,再查看了
PreLoader
中初始化
Main
类的代码:
这句话将Main添加到Stage中,导致
Main.root==stage
了,因此捕获错误失败。
只需要修改这句为
this.addChild(new (getDefinitionByName("Main") as Class));
即可。
MrFion
answered 12 years, 8 months ago