Adobe Flex 3 ヘルプ

コンパイルについて

カスタムコンポーネントは、アプリケーションの一部として使用できるようにコンパイルします。コンポーネントのコンパイルは、アプリケーション全体をコンパイルするときに実行することも、個別にコンパイルして後でアプリケーションにリンクすることもできます。

Flex コンポーネントファイルの種類

作成した Flex コンポーネントは、次の表に示すように、いくつかのファイル形式で配布できます。

ファイル形式

拡張子

説明

MXML

.mxml

MXML ファイルとして実装されたコンポーネントです。

ActionScript

.as

ActionScript クラスとして実装されたコンポーネントです。

SWC

.swc

MXML または ActionScript ファイルとして実装され、SWC ファイルとしてパッケージされたコンポーネントです。SWC ファイルには、パッケージして複数のアプリケーション間で再利用するコンポーネントが含まれます。SWC ファイルは、アプリケーションの SWF ファイルを作成する際、アプリケーション内にコンパイルされます。

RSL

.swc

MXML または ActionScript ファイルとして実装され、RSL ファイルとしてデプロイされたコンポーネントです。RSL はアプリケーションの SWF ファイルとは別にダウンロードされるスタンドアローンファイルで、複数のアプリケーション SWF ファイルで使用するためにクライアントコンピュータ上にキャッシュされます。

コンポーネントを使用するアプリケーションをコンパイルするときは、ファイルの形式と場所を考慮する必要があります。

Flex SDK を使用したコンパイルについて

Adobe Flex には mxmlc と compc の 2 種類のコンパイラが用意されています。mxmlc コンパイラでは、MXML、ActionScript、SWC、および RSL ファイルを 1 つの SWF ファイルにコンパイルできます。アプリケーションをコンパイルし、Web またはアプリケーションサーバーにデプロイしたら、ユーザーが HTTP 要求で SWF ファイルをダウンロードし、使用コンピュータで再生できるようになります。

compc コンパイラは、コンポーネント、クラス、およびその他のファイルを SWC ファイルまたは RSL にコンパイルする場合に使用します。

compc コンパイラおよび mxmlc コンパイラはいずれも、Adobe® Flex™ Builder™ またはコマンドラインから使用できます。コンパイラの使用方法について詳しくは、Flex コンパイラの使用プロジェクトの構築を参照してください。

mxmlc コンパイラの使用方法の最も基本的な例は、MXML ファイルに SWC ファイル内のコンポーネントや ActionScript クラスなどの外部依存関係がない場合です。この場合は、mxmlc を起動して、MXML ファイルを指定します。

$ mxmlc c:/myfiles/app.mxml

デフォルトのオプションは、SWF ファイルにコンパイルするターゲットファイルで、値を指定する必要があります。オプションの一部としてスペース区切りのリストを使用している場合は、次の例に示すように、ターゲットファイルを追加する前に、リストの最後にハイフンを 2 つ指定します。

$ mxmlc -option arg1 arg2 arg3 -- target_file.mxml

コンパイル中の大文字と小文字の区別について

Flex コンパイラでは、すべてのファイルシステムについて、大文字と小文字を区別するファイルルックアップが使用されます。Macintosh や Windows ファイルシステムなどの大文字と小文字が区別されないファイルシステムで、大文字と小文字の使い方に誤りがあるコンポーネントを使用しようとすると、Flex コンパイラは、大文字と小文字が不一致であるというエラーを生成します。UNIX ファイルシステムなど大文字と小文字が区別されるファイルシステムで、大文字と小文字の使い方に誤りがあるコンポーネントを使用しようとすると、Flex コンパイラは、コンポーネントが見つからないというエラーを生成します。

ActionScript ソースパスについて

通常は、ActionScript ソースパスに含まれているディレクトリ内にコンポーネントファイルを配置します。アプリケーションのルートディレクトリ、そのサブディレクトリ、コンパイラに対して指定したディレクトリなどです。ディレクトリを指定するには、mxmlc コンパイラで source-path オプションを使用するか、Flex Builder のプロジェクトプロパティダイアログボックスを使用します。

カスタムコンポーネントを編成する上で、次の規則が役に立ちます。

  • アプリケーションは、そのディレクトリとサブディレクトリにある MXML および ActionScript コンポーネントにアクセスできます。
  • メインアプリケーションディレクトリのサブディレクトリにある ActionScript コンポーネントについては、アプリケーションのルートディレクトリを基準とした完全修飾パッケージ名を定義する必要があります。例えば、dir1\dir2\myControls\PieChart.as ファイル内にカスタムコンポーネントを定義する場合、dir1 がメインアプリケーションディレクトリの直下のサブディレクトリだとすると、その完全修飾パッケージ名は dir1.dir2.myControls でなければなりません。
  • MXML コンポーネントは、パッケージ名定義を含みません。ただし、アプリケーションのルートディレクトリのサブディレクトリ内か、ソースパスのサブディレクトリ内のいずれかで、MXML コンポーネントのディレクトリの場所に対応する MXML コンポーネントを参照するファイルで名前空間定義を宣言する必要があります。詳しくは、シンプルな XML コンポーネントを参照してください。
  • アプリケーションは、ActionScript ソースパスに含まれるディレクトリにある MXML および ActionScript コンポーネントにアクセスできます。コンポーネントをソースパスで検索する順序は、ソースパスに記述されているディレクトリの順序に基づきます。
  • ソースパスに含まれるディレクトリのサブディレクトリにある ActionScript コンポーネントは、ソースパスディレクトリの場所を基準とした完全修飾パッケージ名を定義する必要があります。例えば、dir1\dir2\myControls\PieChart.as ファイル内にカスタムコンポーネントを定義し、dir1 が ActionScript ソースパスに含まれる場合、その完全修飾パッケージ名は dir1.dir2.myControls でなければなりません。
  • メイン MXML ファイル内および依存 MXML コンポーネントファイル内の <mx:Script> タグは、ActionScript ソースパス上にあるコンポーネントを参照できます。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート