Doja開発自分向けメモ

final宣言されているクラスをextendsしたクラスを作成してはいけない。なにを当たり前のことを言っているかと思うだろうが、Doja(iAppli)で開発する際にはまった。状況は以下のとおり。

AnchorButtonをextendsしてラベル文字列が取り出せるサブクラスを作成した。これをDoja3.0の開発ツールコンパイルすると問題なくコンパイルできる。エミュレータでも問題なく実行可能。

だが、実機にもってくると「αエラーが発生しました」とのメッセージがでる(D505iの場合)。エクセプションもあがってこないので、トレースを見ることもできない。理由がさっぱり分からない。

エラーの出る箇所を絞り込むべくあちこちのブロックを取り出してはjarに固め、実機に送り込みテスト。ああパケ代がとんでいく。無駄に。で、分かった。

public final class AnchorButton

がびーそ。なんでこれでコンパイルは通るんだ。ひょっとしてDoja3.0の開発ツールのバグ?