一般的な Flex 2 コンパイラーのエラーと既知の問題

この技術ノートでは、Flex アプリケーションをコンパイルする際にエラーが発生する可能性のある、Flex 2 コンパイラーの既知の問題について説明します。

  • 175465:派生クラスの保護されたメンバー変数と同じ名前の ベース クラスに保護されたセットメソッドがある場合、コンパイラーはエラーを報告できないため、以下のランタイムエラーが発生します:VerifyError: Error #1107: The ABC data is corrupt, attempt to read out of bounds
  • 174533:リソースバンドルプロパティファイルのエスケープされていない \n によって、コンパイルエラーが発生し、コード: Message: Syntax error: A string literal must be terminated before the line break が生成されます。
  • 175233:リソースバンドルプロパティファイルが、 ユニコード でエンコードされている場合は、コンパイラーは誤解を招くエラー(例えば、エラー: Syntax error: input ended before reaching the closing quotation mark for a string literal)を生成します。
    プロパティファイル内のすべての文字列は、Latin-1 または UTF-8 でエンコードされる必要があります。
  • 170249: mx :Binding タグのソースとコピー先に不一致オブジェクトがあるため、コンパイル警告またはエラーがスローされず、ランタイムエラーが発生します。
  • 172353: when Locale .getCurrent(Application.application.systemManager).country
    を使用して、-locale がコンパイラーオプションとして渡されなかったアプリケーションで国を取得すると、ランタイムエラーがスローされます。(例えば、
    TypeError: Error #1009: Cannot access a property or method of a null object reference)。
  • 169682:デバッグ時に、「for」ループのボディが単一行である場合、単一ステッピングはループ全体をステップオーバーします。
  • 171214:インターフェイスを実装するクラスは、メソッド内の既定値をインターフェイスメソッドに一致させる際にコンパイラーによって必要とされません。
  • 174646:あるクラスに異なるアクセス制御名前空間属性(例えば、 a protected setter および public getter)を持つアクセサ関数が含まれている場合、そのうちの 1 つを使用するとコンパイル時エラーが発生します(例えば 、 Compiler-Error 1000: Ambiguous reference to myVar)。
    回避策は、getter 関数または setter 関数の名前を変更して不一致をなくすことです。
  • 175271:辞書が MethodClosures を正しく処理しないため、キーと同じ機能を持つ 2 つのエントリを辞書に存在させることが可能になります。回避策として、変数を宣言してクロージャに代入し、その変数をそのまま使用します。
  • 175264:コンパイラー警告を生成するクラスをインスタンス化するアプリケーションをコンパイルすると、問題のクラスへの参照が削除された後でも、同じコンパイラー警告が報告され続けます。クリーンビルド後、コンパイラー警告は報告されなくなります。
  • 171221: mxml コードに構文エラーのある ActionScript エクスプレッションがあるとき、 mxml コンパイラーはスタックトレースを生成します。例:

    <? xml version="1.0" encoding="iso-8859-1"?> <mx:Application xmlns :mx="http://www.adobe.com/2006/mxml" > <mx:TextInput id="ti" text="{String(new Date()}"/> </mx:Application>
  • 172876: Flex アプリケーションモデルの基底クラス、または DisplayObject などの Flash API クラスによって既に使用されている変数名を使用すると、コンパイラーは不可解なエラーをスローします。例:
    Access of possibly undefined property x through a reference with static type String.Access of possibly undefined property y through a reference with static type String. Access of possibly undefined property text through a reference with static type flash.display :DisplayObject
  • 174788:増分コンパイルで、リソースバンドルプロパティファイルのアップデート後にエラーが表示されます。例えば、エラー: Unable to resolve a class for ResourceBundle: TestResources_properties
    Flex Builder で、エラーを取り除くためにプロジェクトをクリーニングします。

追加情報

コンパイラーエラーおよびコンパイラー警告に関する追加情報は、以下の文書に記載されています。

ヘルプをすばやく簡単に入手

新規ユーザーの場合