X01HTに出来て、W-ZERO3には出来なかったこと

X01HTW-ZERO3のOSがちょっと違うのは御存知だろう。
W-ZERO3Windows Mobile 5.0で、X01HTWindows Mobile Phone Editionということになり、電話関係のコントロールが追加されている。
NS Basic/CEにもPhone Edition用のコントロールがあり、簡単に電話をかけたり、通話記録を見たりすることが出来る。
大分前に、NS Basic社よりW-ZERO3の実機テストを頼まれたことがある。
NS Basic社はカナダにあるので、日本でも品薄だったW-ZERO3を持っていなかったろうし、わざわざ買うほどでもないので、たまたま持っていた私に依頼したんだろう。
まぁ、NS Basicというのは、そういうフレンドリーな会社である(だから好きな人はハマッちゃうんだけど)
1ラインの簡単なコードだったけど、Phone Edition用のコードなので動くわけがない。
海外のスマートフォンは当然Phone Editionなので、W-ZERO3も当然Phone Editionだと思い込んでいたんだろう。
そう思っていた人も多いと思うけど、電話関係はシャープが独自に書き起こしたと聞いている。
W-ZERO3は国内専用機だからそうなったんだろう(知識不足で私にはその辺のことはわからないが)
それに対して、X01HTは元々海外機種の日本語版だから当然Phone Editionということになる。
したがって、NS Basic/CEでPhoneコントロールを使えば簡単に電話をかけたり、通話記録を見たりすることが出来る。
試しに、NS Basic社で公開しているサンプルをコピーしてやってみた。
やってみたんだが、どういうわけかこれが動かない。
エラーメッセージを見ると、

『コントロールの名前が解決できない』
*壷の人意訳(つまり、あてにならない)

というような意味のことが書いてある(と、思う)
AddObjectでプログラムにコントロールを追加するわけだが、最初の引数のコントロール名が間違えていると言っているようだ。
このコントロール名というのが、ファイル名ではなく、レジストリに書き込まれたコントロールIDなので、調べるのがちょっと面倒くさかったがしょうがない。
結局、サンプルコードの2行目を下記のようにしたところ目出度く動いた。

AddObject "NSBasic.Phone.1", "phone", 0,0,0,0

これで、普通に電話をかけられるし、通話記録こ自由にアクセスできる。
詳しいプロバティやメソッドは、先程のサンプルのところで解説されている。
私には思いつかないが、アイデアしだいで色々面白いことが出来るかもしれない。