2011-11-14 1 views
2

AS3の#1502実行時間エラーにエラーハンドラを追加する方法があるかどうかを知りたいと思います。AS3(ex#1502)でexectution timeエラーを処理する方法

ノートのカップル:

  • 私は最大のスクリプトの実行時間がパブリッシュオプションで設定することができることを承知しています。それは16ビット(0-65535)のような高い値をとる。したがって、最大18時間あります。スクリプトは、私が使用している文脈で60秒後に終了しません。

  • mProjectorで構築されたアプリケーションで使用します。ボタンには、ファイルブラウザのダイアログを開くイベントリスナーがあります。ブラウザが開いている限り、イベントハンドラは続行されません。最大スクリプト実行時間を超えた場合、私は#1502を取得します。

  • 方法がない場合は、その制限を非常に高く設定します。それにもかかわらず、あなたが1日のように対話を開いたままにすると、何かを壊すようなものを構築することはうまくいきません。それは決して起こりませんが、私はこのようなことを避けるための適切な方法があるのか​​どうか疑問に思っていました。

ありがとう。

追加情報:

短縮コード:

bttn.addEventListener(MouseEvent.CLICK, browse); 
function browse(e:Event) { 
    var selectedFilesString:String = mSystem.chooseFiles(chooseFileTitle, initFileName, initFolderName, fileFilter, defaultFileType); 
    ... 
} 

だから、これはここに詳述mSystem.chooseFiles()メソッドが含ま:

http://www.screentime.com/software/flash-projector/docs/AS3-mSys-chooseFiles.htm

しかし、私は私が言ったようにこのエラーのためのエラーハンドラがあります。ないで何を引き起こす可能性がありますし、何をしないか、またはmProjectorがうまくなど

答えて

2

EDIT

あなたはScriptTimeoutErrorをキャッチすることができます実装するかしない天気を行いますが、一度だけ。 this blog postを参照してください。

+0

私は上記のような答えを避けようとしました。私は本当にタイムアウトが発生する状況に陥っています。とにかくありがとう。 –

+0

API(実際にこのようなエラーを防ぐためにイベント処理を使用していない)から判断すると、mProjectorコンポーネントの開発者に連絡する必要があります。これは明らかに設計上の欠陥です。とにかく、私は自分の答えを編集しました。 – weltraumpirat

+0

リンクありがとうございます。それは面白い。あまりにもあなたが得るが悪いが、これをキャッチする1つのショット。 –

0

FileReference.browse()を呼び出す前にタイマーを起動し、ブラウズ操作を行わずにタイマーが完了すると、FileReference.cancel()が呼び出されます。

+0

私はFileReferenceクラスを使用していませんが、ありがとうございます。 –

1

私は、基本的にスクリプトがアクションスクリプトに戻されるイベントをトリガーするのを待っている間に、Zincを使用して.EXEにアプリをラップするのと同様の問題がありました。実際、確認ダイアログボックスでした。おそらく、異なる外部インターフェイス/ラッパーを使用している場合とまったく同じ状況です。

最新バージョンのZincでは、このタイプの問題に対処することを約束しましたが、あなたのケースでは、mProjectorがアクションスクリプトを停止しない非同期のダイアログボックスコールを持っているかどうかを見たり、数秒後にダイアログボックスを閉じます。

もしあなたがタイムアウトを設定してしまったら、非常に混乱していると思いますが、これはEXEでラッピングしているので、少なくとも少し面倒な感じがするかもしれません。あなたのアクションスクリプトを完全に停止させるmProjectコールから離れてください。

私はここで簡単に見えたが、何も、おそらくあなたがよりよく知っている、飛び出すように見えません: http://www.screentime.com/software/flash-projector/docs

幸運、あなたがよりよい解決策は、私はmProjectがそれをどのように処理するか興味がありますように私に知らせて考え出し取得する場合亜鉛と対比。

+1

私はmApplication.abortFunction()があり、非同期呼び出しのためだと言いますが、ここでは試してみる価値があると言います:[http://www.screentime.com/software/flash-projector/docs/ AS3-mApp-abortFunction.htm](http://www.screentime.com/software/flash-projector/docs/AS3-mApp-abortFunction.htm) – ToddBFisher

関連する問題