我有一个creationComplete =" myMethod(event)"在我的应用程序中,它在我的3 flex(Flash Builder 4)开发机器上运行良好。然而,它不适用于我今天尝试过的2台最终用户机器!
它根本没有执行creationComplete,但它正在运行应用程序,似乎所有其他代码都运行正常 - 除了应用程序中其他组件可能还有一些其他creationComplete代码。
在我的机器上,我已经在所有3台机器上的IE 8和9,FireFox和Chrome上进行了测试。
在这两台机器上,它在IE 7和IE 8上都存在问题。我甚至安装了新的FireFox,它也有问题。安装最新的Flash播放器并删除所有浏览器历史记录/ cookie后,它仍然存在问题。
什么可能导致creationComplete不执行?
更新: 我尝试使用initialize()并没有区别。
但是,我相信我发现导致问题的代码行:
var isDebug:Boolean = new Error().getStackTrace().search(/:[0-9]+\]$/m) > -1;
如果我发表评论,那就行了。为什么?我需要知道我的应用程序是在开发/调试模式下运行还是在最终用户机器上运行。
答案 0 :(得分:0)
也许这行引发了一个异常(这很有趣,不是吗?),你在非调试模式下无法捕获...
你试过这个:
import flash.system.Capabilities;
[...]
var isDebug:Boolean = Capabilities.isDebugger;
答案 1 :(得分:0)
看来(我自己没有测试过)你在非调试模式下无法获得stackTrace错误?
这是我对你的问题描述的假设。如果是这种情况,您可以检查getStackTrace()!= null。
编辑:确认,getStackTrace()在非调试环境中返回 null