ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   Flex Data Services 2.0
     Javaオブジェクト>ActionScriptオブジェクトのキャストについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
t68000
投稿日時: 2008-4-28 15:50
ご主人様
登録日: 2006-10-24
居住地:
投稿: 101
Javaオブジェクト>ActionScriptオブジェクトのキャストについて
毎度お世話になっております

FDS2を使用して、Java<>Flexのデータのやり取りをしようとしています。
この際、ドキュメントにあるようにJavaオブジェクトにマップされるActionScriptクラスを作成してキャストしようとしています。
しかし、Javaの構造の中にList型のものが含まれるとうまく変換できません。

下記の構造と同じようなJava側のオブジェクトがあるとして、AbCdObjecsという部分がList型だという想定です。
下記のソースは当然キャストエラーになりますが、かといってArrayにしてみても取得できませんし・・・。
デバッガで見る限りObjectそのものは取得できているので、キャストさえうまくいけばいいはずなんですが。

引用:

package {
[Bindable]
[RemoteClass(alias="jp.co.xxx.vo.AbCd")]
public class AbCd
{
public var dtId:String = null;
public var verNo:int = 0;
public var AbCdObjecs:ArrayCollection = null;
}
}



こういうケースでどう対処すべきか、ご存知の方がおられましたらご教授ください。

ちなみに、JavaオブジェクトのAbCdObjecsの構造を ListからObject[] にすれば取得は可能であることは確認しました。
Crono
投稿日時: 2008-5-12 20:39
ご主人様
登録日: 2006-6-21
居住地: 飯田橋/ヴァナディール
投稿: 229
Re: Javaオブジェクト>ActionScriptオブジェクトのキャストについて
くろのです。

もう解決しているかもしれませんが。

AbCdObjecsの中のListの各要素を表すクラス(例えばEfghEntity)がAS、MXML内で一度も登場していない可能性はありませんか?

例えば、AbCdObjecsはサーバーから取得後、そのままDataGridに張り付けたりしているとか。

この場合、EfghEntityがコンパイル対象になっておらず、キャスト処理がうまく効いていない可能性があります。

対処方法は:
・var add2ClassPath:EfghEntity = new EfghEntity();
add2ClassPath = null;
を適当な場所に書く。どこでもいい。意味無くていい(のでどこか1か所に書くといい)
・flex-configに以下を書く(こっちあまりやったことないです。MIXINクラスで使われたりします)
<includes>
<symbol>EfghEntity</symbol>
</includes>
isocchi
投稿日時: 2009-2-10 12:25
やや 常連さん
登録日: 2007-9-10
居住地: みやこのせいほく
投稿: 29
Re: Javaオブジェクト>ActionScriptオブジェクトのキャストについて
そうだったのかー!!!

includeされるようにしたら変換されました!!
ありがとうございますm(_ _)m


----------------
http://blog.isocchi.com/

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を