Flex creationComplete()不对某些机器执行

时间:2011-07-26 15:18:05

标签: flex events flash-builder

我有一个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;

如果我发表评论,那就行了。为什么?我需要知道我的应用程序是在开发/调试模式下运行还是在最终用户机器上运行。

2 个答案:

答案 0 :(得分:0)

也许这行引发了一个异常(这很有趣,不是吗?),你在非调试模式下无法捕获...

你试过这个:

import flash.system.Capabilities;

[...]

var isDebug:Boolean = Capabilities.isDebugger;

答案 1 :(得分:0)

看来(我自己没有测试过)你在非调试模式下无法获得stackTrace错误?

这是我对你的问题描述的假设。如果是这种情况,您可以检查getStackTrace()!= null。

编辑:确认,getStackTrace()在非调试环境中返回 null