最終更新日 :
2021年4月28日
|
次にも適用 : Flex Builder
この技術ノートでは、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 で、エラーを取り除くためにプロジェクトをクリーニングします。
追加情報
コンパイラーエラーおよびコンパイラー警告に関する追加情報は、以下の文書に記載されています。