クラス読み込みクラスっていうのか
オブジェクトで通信するAMFとS2JDBCによるDB接続
http://www.atmarkit.co.jp/fwcr/rensai2/flexjava04/flexjava04_3.html
AMFでDTOを配列に突っ込んだ場合にObjectになってしまうころがある。
Flex側で実際に使うDtoのクラスを宣言して突っ込むと大丈夫だけど直接DataGridに突っ込んだりするとObjectになったりと最悪なパターンです(Flex Builderのデバッガでみてはじめて原因がわかった)。
Dtoの自動生成(自作のやつとDBFluteのFlexDto)で
package xxx.dto.base { import xxx.dto.*; public class YyyBase { ZZZDto; protected var _childrenZZZList:Array;/* of the entity 'ZZZDto'. */ } }
で逃げました。
import文をかくだけだとだめ。変数を明示的に宣言すればOK。
でたまたま試行錯誤していたときにみつけたのがクラス名だけを書くという方法。
クラス名だけを書くという方法はなんか文法的にただしいのか非常にあやしくて採用したくなかったが、
クラス名だけ書くバージョンと変数を書くとバージョンだとswfのサイズはクラス名だけ書くほうが少なかったのでクラス名だけ書く方式で統一した。
%FLEX_HOME%\frameworks\projects\framework\src\FrameworkClasses.as
がこの方式なので正しいやりかただったのか。
あとはこういったまとめるクラス(たとえばAllDtoClasses)をflex-config.xmlに指定すればいいのか。。。
<?xml version="1.0"?> <flex-config> <includes> <symbol>xxx.AllDtoClasses</symbol> </includes> </flex-config>
FlexSDKのFrameworkClassesは
でframework.swcにしているのでflex-config.xmlには指定されていないけど。