« 2008年4月 | トップページ

2008年5月16日 (金)

新作アプリ(白状)

最近、ブログの更新が滞り気味です。

こういうときは、仕事がやたら忙しいか、更新ネタが無いか、アプリを作っているかのどれかなのですが、今回はアプリを作っています。以前もちょっと触れたことがありますが、私にしては珍しく実用系のアプリです。と言っても、他の人にはあまり役に立たないかもしれません。

アプリの内容は、公開するまでは伏せておこうと思ったのですが、潜行して長い間経つのと、ちょっと行き詰まってしまったので少しだけ白状してしまいます。

実はそのアプリは、アラーム機能を使います。で、この実装でこの間から四苦八苦していています。どんな内容かというと、、、

Palm OSでは、アラーム機能とアラート機能というのがあります。アラーム機能というのはOS3.x以前から実装されている機能で、アラート機能というのはOS4.0から追加された機能だそうです。私自身ももう一つ違いがよく分かっていないのですが、アラーム機能の方は、アラームを発生させる時刻とかをシステムに渡しておくと、その時刻にアラームを鳴らしてくれたりする機能で、アラート機能の方は、アラーム機能から呼び出されてユーザーとのインターフェースや一元管理をするための機能、といった感じでしょうか。

私が作ろうとしているアプリでは、アラーム機能だけあれば良さそうなので、まずその実装に取り組みました。System APIを呼び出す方法もあるようなのですが、NS Basicでは直接アラーム機能を使うのは難しいらしく、代わりにNSBAlarmProxy.prcというプロクシプログラムが用意されていて、これを使うことでわりと簡単に「所定時刻にアラームを鳴らす」ということが出来ます。

ところが、このアラーム機能というのは、先ほども言ったようにOS3.x以前からある機能なので機能的には非常にあっさりしていて、LEDを点滅させたりバイブレータを動かしたり、ということは出来ません。

で、バイブレータを動かそうとすると2つの方法があるようです。一つはNS Basicのライブラリ(NSBTreoLib)を使って、バイブレータを動かすアプリケーションを作っておき、アラーム時刻が来たときにこのバイブレーションプログラムを呼び出す方法。もう一つは、先ほどのアラート機能を使う方法です。アラート機能はOS4以降にサポートされた機能なので、バイブレータをサポートしています。アラーム時刻が来たときに、所定のパラメータを設定してアラート機能を呼び出せば、バイブレータを動かしてくれるようです。

まずは第1の方法で実装を始めました。それなりにうまく動いたのですが、一つ難点が。Palmにキーガードを設定してると、電源ボタンを押した後、一定の時間以内に5wayのセンターボタンを押さないと再び電源が切れてしまいますが、これに引っかかってしまうのです。電源offの状態でアラーム時刻が来た場合、アプリケーションはバイブレータを動かすのですが、キーガードの時間が3秒に設定されていると、3秒でバイブレータもoffになってしまうのです。これではアラームに気づかないことも多そう。

ちなみに、Centroに標準で入っているWorld Clockというアプリでアラームを設定すると、キーガードが設定されていてもちゃんとボタンを押すまでバイブレータを動かし続けてくれます。見ると、このアプリはアラート機能のバイブレータを使っている様子。

それならば、と今度はアラート機能にチャレンジ。この機能はライブラリでは提供されていないので、APIをコールする必要があります。自分でAPIを使うアプリを作るのは初めて。ここここ、そしてここなんかを色々見ながら見よう見まねで実装してみるのですが、なぜかコンパイルするとシンタックスエラー。よくよく調べると、NSBasicのAPIコール関数(SysTrapFunc)は、渡せるパラメータが5個までなのだそうです。そして、アラート機能を呼ぶための関数、AttnGetAttention関数のパラメータは8個(泣

というわけで、すっかり行き詰まってしまった今日この頃です。。。

| | コメント (0) | トラックバック (0)

2008年5月12日 (月)

Z22のカレンダー同期できない

昨日の話なのですが。

妻の家計簿マシーンとなっているZ22、久々に自宅のPalmDesktopと同期をしようかとHotSyncを実行。

が、Calenderの同期がいつまでたっても終わりません。

こういうときは、何らかの理由でPalm側のデータベースが具合悪くなっていることが多いので、HotSyncのモードをシンクロ→ハンドヘルドがPalmDesktopを上書き、に変更してみました。が、やっぱり同期が終わりません。

うーん、コンジットがおかしくなっているのかなあ?ということで、一度PalmDesktopをアンインストール。念のためc:\Program Files\PalmOneのディレクトリも削除し、PalmDesktop4.1.4Eを再インストール。

でも、やっぱりCalenderの同期がうまく行きません。ちなみにカレンダーの同期をしない設定にするとあっさり終わるので、やっぱりPalm側のデータベースが壊れているのでしょうか?

こういう時って、確かデータベースの復旧をしてくれるアプリがあったはずでしたが、何でしたっけ?

と、ここまで書いておいて、ふと思って自分のハードディスクを見て みると、ありましたありました、DbScan、このアプリです!ネットをググって見ると、私が手持ちのバージョンより新しいバージョンが出ている様子。早速帰ったら試してみたいと思います。

| | コメント (0) | トラックバック (0)

2008年5月11日 (日)

Centro+JaPon+ATOKでの"品"文字化け

私のCentoro + JaPon + ATOKの環境下では、"品"と言う字を打って直後にリターンキーを押すと文字化けします。

ググって見ると、それなりに有名な問題のようです。

で、もう少し調べてみると、ミニーさんのところになにやらヒントが書いてありました。

ミニーさんも「ここだけの話」と書いてあるので詳しくは書きませんが、インストール後のJaPon.prcとバイナリエディタでやってみたところ、見事問題が解消しました^^

というわけで、ミニーさん、どうもありがとうございましたm(_ _)m

| | コメント (0) | トラックバック (0)

2008年5月10日 (土)

やっぱりだめ

突如文鎮化した我がTreo650。

先日のエントリーに頂いたコメントで、「ROMクッキングを使えば直るかもしれない」と言うことで今日試してみました。

純正のHotSyncボタン付きケーブルを差し込んで、リセット!すると、、、

080510_16290001

おおお!レインボー画面が表示されます!これはいけるかも!

早速no61さんの手順に従ってROM Toolを立ち上げ。以前作ったカスタムROMイメージを選択して、アップロード!と思いきや、、、

「セキュリティパスワードが設定されているようです」

という無情のメッセージが、、、

そうです。当然の事ながら、普段使っているときには私のTreoにはセキュリティがかかっています。ROMクッキングを行うときには、このセキュリティを外した状態にしないと行けないのですが、なにをやってもリセットループになる今のTreoでは、セキュリティを外すこともままならず、orz。

最後の頼みの綱もあえなく撃沈でした。

というわけで、バッテリーとボールペン付きスタイラス、やっぱりお譲りできそうです>shino-jiさん

| | コメント (3) | トラックバック (0)

2008年5月 8日 (木)

と言うわけでバージョンアップ

Racing双六の所持金が更新されない問題、出張先のホテルでちまちまと調べていたら、超初歩的なバグを発見しました(汗

というわけで、超久々にバグ取りをした新バージョンをアップしましたので、オフィシャルサイトの方からよろしければどうぞ。

| | コメント (0) | トラックバック (0)

思わぬバグ?

久々、暇つぶしにCentroでRacing双六をやっていたら、所持金が更新されないことに気づきました。(正確には、レース直後にはちゃんと所持金が更新されているのですが、ホームボタンを押してゲームを抜けて、再度立ち上げると元の所持金に戻っている)

うーん、こんな初歩的なバグがなぜ今頃出てきたのか?

ちょっと時間を見つけて調べてみます。皆さんの所ではいかがですか?

| | コメント (0) | トラックバック (0)

2008年5月 5日 (月)

Treo650復活せず

リセットループ事件から早2週間あまり。もしかしたら、と思って今日、再度Treo650にバッテリーをセットしてみましたが、やはりダメでした。私のTreo650は完全に昇天してしまったようです。

このまま私の手元に置いておいても良いのですが、備品類はもしかして必要な方がおられるなら、無料でお譲りしようと思います。

080505_13350001 右は純正のバッテリー、左はボールペン付きのスタイラスです。いずれも日常使用していましたので新品ではありませんが、もしよろしければコメント欄にコメントを下さいませ。

文鎮化した本体をジャンク用としてお譲りする案もあったのですが、万が一復帰した場合、個人情報の固まりですのでこれはご勘弁を^^;

| | コメント (7) | トラックバック (0)

2008年5月 1日 (木)

PetitLaunchとメニューでリセット

私のCentroは、KeyQuickで緑ボタンをメニューキーに変更し、ハードボタン1にはPetitLaunchを割り付けているのですが、メニューやPetitLaunchを使っていると時々リセットがかかってしまいます。

何となく、再現性がありそうだなあと色々試してみると、以下の組み合わせで100%リセットがかかることが判明。

1.緑ボタンを1回押して、メニューバーを表示させる

2.ハードボタン1を押して、PetitLaunchの小窓(左端に猫がいるやつ^^)を表示させる

3.この状態で、5wayの左を押す

こうすると、リセットがかかります。私の環境だけなのか、KeyQuickとの相性の問題なのかが分かりませんが、リセットしたいときには便利です(x_x)\☆バキ

| | コメント (3) | トラックバック (0)

« 2008年4月 | トップページ