7

最近、一部の Flash コーディングで、デバッグ フラグと変数のすべてが設定解除されていないビルドを誤ってクライアントに送信しなければならないという厄介な状況に遭遇しました。(リリースサーバーなどではなく、デバッグにリクエストを送信していました...)

これの一部は、私のコード構成の悪さでした。私はそれを解決しました。

ただし、Flash では異なるビルド構成を設定することは許可されていないようです。また、Actionscript のコンパイル設定では、何かをチェック/チェック解除するのを忘れてしまうような方法で配置されたさまざまなスイッチがホストされています (OMG、デバッガーのサポートを無効にするのを忘れていました!)。私と同じように、たまたま。いずれにせよ、リリース構成とデバッグ構成の間を手動でジャンプすると、簡単に台無しになることがわかりました。

では、他の開発者の皆さん、テスト構成と、上司/クライアント/誰にでも発行するビルド構成との間のジャンプをエラー防止するために、どのような手法を使用していますか?

おそらく速度を落とさなければならないことはわかっていますが、スイッチを切り替えるだけの場所に何かを設定することを望んでいます. 長い休止期間 (Flash MX + 2004 のビット) の後、Flash に戻ってきました。

ああ、デバッグ サポートを無効にしたり、インポート パスワードを設定したりすることの無益さを認識しています。私の目標は、単にスクリプト キディをプロジェクトから除外することです。逆コンパイラはそのすべてに勝る.....

とにかく、ありがとう!

4

4 に答える 4

5

次のような環境クラスを使用します。

public class MyEnvironment {
  public static const DEBUG:Boolean = true;
  public static const SERVER:String = 'localhost';
  // More here
}

これをメインの ActionScript クラスにインポートし、すべてのヘルパー関数がそれを参照するようにします。たとえば、デバッガ関数MyEnvironment.DEBUGは が true の場合にのみ実行し、ネットワーク関数は にリクエストを送信する必要がありますMyEnvironment.SERVER

私のセットアップでは、これを として保存しMyEnvironment.asます。(明らかに、クラス名は実際には異なります。) また、コピーをMyEnvironment.as-debugandとして保存しMyEnvironment.as-releaseます。後者は設定が異なります。次に、リリース ビルドが必要な場合は、ビルド スクリプトをコピーMyEnvironment.as-releaseしてMyEnvironment.as(オリジナルを上書き)、再コンパイルします。これにより、すべてのリリース設定がメインの ActionScript クラスに読み込まれます。デバッグ ビルドのスクリプトを実行すると、逆になります。

于 2009-03-28T01:00:23.963 に答える
3

デバッグ モードでは、視覚的なヒントを使用することをお勧めします。DEBUG フラグが設定されている場合、TextField を「デバッグ モード」で表示し、バージョン番号などを画面の隅の 1 つに表示します。

クライアントに送信する前に最終テストを行うと、DEBUG モードを無効にするのを忘れていることがわかります。

それは確かに、プロジェクトをどのように構成するかによって異なります。別の回答で説明されているように、アプリケーション全体からアクセスできる高レベルの「グローバル」クラスにフラグを保存することをお勧めします。

于 2009-03-28T08:44:12.507 に答える