FDT を使用するために、FlashBuilder プロジェクト (実際には、Linux で FlexBuilder Eclipse プラグインを使用して作業しているプロジェクト) を移行しています。私はなんとかプロジェクトをインポートし、依存している他のプロジェクトを認識させました。
ただし、無害に見える (そしてコンパイルに使用された) ものに対して、多くのコンパイル エラーが発生します。少なくとも、例えば:
<mx:SomeClass initialize="{this.init()}" ... >
<mx:Script>
<![CDATA[
....
public function init() : void {
// ... whatever
}
public function foo(event : Event) : void {
// .. whatever
}
]]>
</mx:Script>
<mx:SomeOtherComponent click="{this.foo(event)}"/>
... etc ....
そのため、関数が同じブロック ファイルに記述されていても、someAttribute="{this.someFunction()}" という形式のすべての呼び出しに対して「未解決の関数」を取得します。
ずっと AS3 / FlashBuilder を悪用してきたということでしょうか?
また、汎用コンポーネントにも問題があります。延期された「コンテンツ」属性を持つクラスがあり、このクラスをインスタンス化して「空白を埋める」とします。
CustomComponent.mxml ファイルでカスタム コンポーネントを定義し、遅延コンテンツを使用します。
<mx:VBox>
<mx:Script>
<![CDATA[
public var content : IDeferredInstance;
public function buildMe() : void {
this.addChild(content.getInstance() as UIComponent);
}
別の xml ファイルでカスタム コンポーネントを拡張し、コンテンツとして何かを配置します (名前空間は、CustomComponent ファイルを含む名前空間の名前に過ぎません)。
<namespace:CustomComponent xmln:namespace="..." >
<namespace:content >
<!-- Whatever ... -->
</namespace:content >
</namespace:SomeClassWithDeferredInstance >
次に、2 番目のファイル (namespace:content を読み取る行) に「'コンテンツ' を解決できません」というエラーが表示されます。
言及すること:
- Linux で (有効な) 評価キーを使用して FDT 4.0 を使用しています。
- カスタム Flex 3.5 SDK を使用しています (FDT に同梱されているものではありませんが、あまりにも奇妙なものでもありません)
誰でも助けてくれることを願って...
ありがとう
PH