Palm Programmer's Laboratory
【C/C++】OS 5 で draggable な DA のサンプル
[開発情報]
概要
このページでは、OS 5 でも DA で draggable を実現するサンプルを CodeWarrior のプロジェクト形式で提示します。
【追記】
PODS で make 可能な版についてはこちらのページを参照してください。
説明
このパッケージは、DA のリファレンスである FortuneDA を CodeWarrior でコンパイルできるように手を加え、さらに Palm OS 5 以降でも draggable になるようにコードを変更したサンプルです。以下の環境でコンパイル・および動作の確認を確認しています。
コンパイル環境:CodeWarrior 9J
動作確認環境 :Palm OS 5 および Palm OS 4 のデバイス
※ Palm OS 3.5 では Fatal Error が発生しますので注意。
ダウンロード
ダウンロードファイルは zip 形式で圧縮されています。CodeWarrior のプロジェクト(ソースコードを含む)と、コンパイル済みの FortuneDA.prc 、およびオリジナルのソースコードセットを含みます。
FortuneDA.zip(498)
【追記】
PODS で make 可能な版についてはこちらのページを参照してください。
参考情報
注意事項
このパッケージに関する再配布・修正に関する事項はすべてオリジナル版の取り決めに従います。また、免責事項に関しても同様です。詳細はパッケージ内の original ディレクトリ配下の readme-j.txt を参照してください。質問・疑問などはこのパッケージによる改変内容については Palm Programmer's Laboratory へ、オリジナル版の内容に関してはオリジナル版の指定する連絡先に従ってください。多分、Palm Programmer's Laboratory へ持ち込んだ方が早いとは思います。
バグと思われる挙動
現在、Palm OS 5 での実行において、「ドラッグ中にウィンドウ枠が移動しなくなる」という挙動が認められています。これは、ドラッグによる移動ができなくなるのではなく、移動中の描画がされなくなるという意味です。原因ははっきりしていませんが、分かっているポイントを以下にまとめます。
- わかっている限り、発生するのは OS 5 のみ。
- FortuneDA の初回インストールから最初の電源断までは発生せず、一度電源の off/on をすると発生するようになる。
- 挙動とソースコードの内容から推測する限り、penMoveEvent が発行されなくなっているように見受けられる。
- これまで動作確認を行った Tungsten T5 および TX では、ウィンドウ枠が移動するか、まったくしないかのいずれか。しかし、Zire72 でも検証してみたところ、ドラッグを始めてから少しの間はウィンドウ枠が移動し、それ以降は動きが止まってしまう場合がある。
コメント
このページの情報に関する誤りや追加情報がありましたら、コメントをお願いします。
- penMoveEventの処理部分にSndPlaySystemSound(sndClick)を仕込んで、音がずっと鳴るかどうか確認するとpenMoveEventがきちんと発行されているか確認できると思います - EIJ (2006年06月06日 13時29分32秒)
- おぉ! その手がありましたか。今夜、帰宅後に試して見ますね♪ - 陰郎 (2006年06月06日 14時14分43秒)
- penMoveEvent 処理時に音を鳴らすテストをして見ましたが、ウィンドウ枠が動かないときはやはり音がしませんでした。ひとまず penMoveEvent が発行されていないと考えて良さそうです... - 陰郎 (2006年06月06日 22時59分56秒)
- コメント欄が長くなりすぎたので、本文に途中までの経緯をまとめました。 - 陰郎 (2006年06月06日 23時10分24秒)