2008-05-25

WhereNow更新

ゴールデンウィーク前に暫定版を公開していたWhereNowを更新しました。
機能的には何も進歩していませんが以下の問題を修正しています。
  • "microSDカード"決め打ちになっていた外部メモリの名称をデバイスから取得するように変更
  • 住所データが見つからなかった場合に見当違いの住所を表示していた問題を修正
  • 時々 画面サイズが半分になって表示されていた問題を修正
 
今回はプログラムとデータファイルを別々にアップしています。
データファイルの内容は何も変わってないので前のバージョンを使用中であればダウンロードする必要はありません。
  • WhereNow.zip(プログラム本体)
    解凍したCABファイルをデバイス側にインストールしてください
  • WhereNow.zip
    データファイルが開けなかった場合"microSDカード"で再試行するように変更しました
  • wn.zip(データファイル)
    解凍したwnフォルダを外部メモリのルートにコピーしてください
 
ところで今回修正した画面が半分になっていた問題ですが、TodayプラグインのWM_TODAYCUSTOM_QUERYREFRESHCACHEメッセージの中で以下のような処理をしている部分があります。
if (0 == pTodayListItem->cyp) {
    pTodayListItem->cyp = DRA::SCALEY(20);
    bRet = TRUE;
}
 
SDKのサンプル通りの処理で Todayプラグインのサイズ(高さ)が 0であれば適切なサイズを設定しているのですが、この部分はプラグインの初期化時にだけ呼ばれるものと思い込んでいました。
実際には何らかのタイミングで高さが 0になっている場合があるみたいです。
今回の場合 現在位置を表示する場合は高さを変更しなければいけなかったので、以下のようにして対応しました。
if (0 == pTodayListItem->cyp) {
    if (STATUS_ADDRESS_FOUND == iStatus || STATUS_ADDRESS_NOT_FOUND == iStatus) {
        pTodayListItem->cyp = DRA::SCALEY(40);
    } else {
        pTodayListItem->cyp = DRA::SCALEY(20);
    }
    bRet = TRUE;
}
 
動的にサイズが変わるようなTodayプラグインを作成するときはご注意ください。
 

15 件のコメント:

匿名 さんのコメント...

以前のバージョンでは問題なく表示されていたのですが
今回のバージョンだと「住所データが見つかりません」となってしまいます。

アドエスで\microSDカード\wnに住所データはあります。
USBフラッシュメモリ等は現在接続しておらず、ネットワークフォルダは有効です。

kazuaki さんのコメント...

おはようございます。
ご連絡ありがとうございます。

たぶんネットワークフォルダの場合もFindFirstFlashCard()で拾ってきてしまうのですね。

お手数ですが、HKCU\Software\tauchi.net\WhereNowに 文字列型でDataFilePathを作って "\microSDカード\wn"を指定してみていただけますでしょうか?

匿名 さんのコメント...

ありがとうございます。
レジストリに追加し、再起動したところ
無事に住所が表示されるようになりました。

ぴっくあっぷ さんのコメント...

お世話になります。
さっそくUpdateしてみました。

匿名さんと同じくNetworkフォルダ有効ですが、こちらではレジストリに追加しなくても問題なく表示されています。

kazuaki さんのコメント...

こんばんは。
ご確認ありがとうございます。


匿名さん>
うまく動いてくれたようでホッとしています。
実はFindFirstFlashCard()を使ったときに少し嫌な予感がしていました(笑


ぴっくあっぷさん>
こちらこそお世話になっています。
ご忠告通り広島は暑かったです。数年振りに路面電車にも乗りました。

それはさておき(笑
ネットワークドライブの名前か何かで拾ってくる順番が違うのでしょうね。
やはり"自動"設定というのはトラブルのもとみたいですね。

wiitomo さんのコメント...

こんにちは。素晴らしいツールのリリースありがとうございます。
私もWhereNowを使わせていただいておりますが未だデータがありませんの表示です。
レジストリの追加とのことですが、実例をお書きいただけませんでしょうか。
自分で追加をした経験もなく何を書けばいいのか判らないのでよろしくお願いいたします。

kazuaki さんのコメント...

wiitomoさん こんばんは。

TRE等のエディタを使用する事になるのですが、操作を誤ると困ったことになる事もありますね。

とりあえずファイルを開けなかった場合に "\microSDカード\wn"で再試行するように変更してみましたので再度ダウンロードしてお試しください。

wiitomo さんのコメント...

こんばんは。お手数お掛けして済みません。
修正していただいたCABをインストールし直してみましたが変わらずデータが取得できない状態です。
ファイル配置などは間違っていないと思いますがこれからBlogにキャプチャなどを載せておきますので申し訳ございませんがお時間のあるときにでもご覧頂ければ幸いです。
http://d.hatena.ne.jp/wiitomo/
X01HTの日記W-ZERO3も(旧X01HTの日記)です。
よろしくお願いいたしますm(__)m

kazuaki さんのコメント...

wiitomoさん こんばんは。
キャプチャのアップありがとうございます。

X01HTの日記はいつも拝見しています。
でもいつの間にか"W-ZERO3も"が付いていたのは気付いていませんでした(笑

こちらも TREのキャプチャをアップしましたので 5/29のエントリをご確認ください。

wiitomo さんのコメント...

わざわざエントリアップまでしていただき申し訳ございません。
お陰様でレジストリ追加が出来て、Today画面に現在住所表示されるようになりました。
本当にありがとうございました。

匿名 さんのコメント...

どこにも動くとは書いてありませんでしたが、物は試しで入れてみたら[es]でも動きました。これからのversion upにいろいろ期待してしまいます。

kazuaki さんのコメント...

こんばんは。
動作確認ありがとうございます。

問題ばかりかと思った FindFirstFlashCard()の恩恵が少しはあったという事ですね。

私も[es]で動作確認してみようと思っていたのですが、机の引き出しで眠ったままでした(笑
久し振りに充電してあげようと思います。

mitsu さんのコメント...

初めまして、今だにアドエスを使っていてWhereNowをインストールさせて頂きました。とても便利なプラグインだと思います。
なのですが自分のTodayはすでにギュウギュウでして数ドットでも幅を稼ぎたい所なのです、次のバージョンがあるかどうかも分かりませんが上下の余白幅の変更とフォントサイズの変更を可能でしたら検討して頂ければと思います、ググったり他のプラグインを参考にレジストリを追加してみたのですがうまくいかなかったもので。

kazuaki さんのコメント...

mitsuさん こんばんは。

WhereNow のフォントサイズはシステムから取得していたと思います。
システムのフォントサイズが変更されると WhereNow にも反映されると思いますが、このプラグインだけという事になると設定する方法は無いです。

申し訳ないのですがメインが WM6.5 と Phone 7 になってしまったので当分修正する事は無いと思います。何かで更新する事があれば設定できるように検討します。

# ソースの WM_PAINT あたりにサイズを直書きするという手もありますが...いかがでしょうか?

mitsu さんのコメント...

お返事ありがとうございます。試しにフォントのサイズを変更(Fn+▲,▼キーで簡単に変更できますので)してみましだが大きくしても小さくしても上下の幅は変わらないようです。もしバージョンアップがありましたら検討して頂けたらと思います。今はなんとかTodayを工夫して他の方法で1ドットでもスペースを開けようと格闘していますw。ソースの方も知識は素人ですが見てみます。ありがとうございます。