2011-07-26 9 views
0

私はs:ApplicationにcreationComplete = "myMethod(event)"を持っていて、3 flex(Flash Builder 4)開発マシンで正常に動作します。しかし、私は今日それを試して2エンドユーザのマシンで動作していません!特定のマシンでFlex creationComplete()が実行されていません

creationCompleteはまったく実行されていませんが、アプリケーションを実行していて、他のすべてのコードが正常に動作しているようです。アプリの他のコンポーネントのcreationCompleteコードは例外です。

私のマシンでは、Internet Explorer 8,9、FireFox、Chromeの3台すべてのマシンでテストしました。

この2台のマシンでは、IE 7とIE 8の両方に問題があります。私もFireFoxを新しくインストールしましたが、それにも問題があります。最新のフラッシュプレーヤーをインストールしてブラウザの履歴/クッキーをすべて削除しても、それでも問題はあります。

何がcreationCompleteを実行しない可能性がありますか?

更新: 私はinitialize()を使ってみましたが、違いはありませんでした。

はしかし、私は私が問題を引き起こしたコードの行を見つけたと信じて:

var isDebug:Boolean = new Error().getStackTrace().search(/:[0-9]+\]$/m) > -1; 

私はそれをコメントアウトした場合、それが正常に動作します。どうして?私のアプリが開発/デバッグモードで実行されているのか、エンドユーザのマシン上で実行されているのかを知るために必要です。

+0

ヌルを返します。他の探査中に、.getStackTrace()が非デバッグ環境で** null **を返すことを発見しました。 –

答えて

0

非デバッグモードでエラーのstackTraceを取得できないようです(私自身はこれをテストしていません)。

これは私があなたの問題の説明から推測したものです。この場合、getStackTrace()!= nullかどうかを確認するだけで済みます。

EDIT:確認、getStackTraceメソッド()あなたは以下の私の答えを見れば、それは* *正しい非デバッグ環境

+0

これまでのところ、これは私が使ったものです:isDebug = new Error()。getStackTrace()!= null; –

0

たぶん、この行は

は、あなたがこのみました...とき非デバッグモードであなたがキャッチすることができない(それはおかしいだろう、それはないでしょうか?)の例外がスローされます。

import flash.system.Capabilities; 

[...] 

var isDebug:Boolean = Capabilities.isDebugger; 
関連する問題