トップページ > 過去ログ > 記事閲覧
JaPonとNS Basicの相性問題
日時: 2005/04/28 14:25
名前: いなあも   <inarmo@infoseek.jp>
参照: http://inarmo.hp.infoseek.co.jp/

関野さんはじめまして。
Palmスタヂオいなあも屋のいなあもです。

表題にありますようにNS BasicとJaPonに相性問題があるようです

NS BasicにはKeyモードと呼ばれる方法でDbへのアクセスが可能です。ちょうどSQLでキーを指定してDBレコードを特定するようなものだとお考えください

例えばDbInsertという命令で、レコードの追加を行うことが出来ます。
下記のように
 DbInsert( ID, "Sato", "男")
 DbInsert( ID, "Kato", "男")
 DbInsert( ID, "田中", "女")
とDbInsertを実行して3レコード追加したとします(この例では"Sato","Kato","田中"がキー文字列、性別がデータとして扱われます)。

NS Basicはデータの登録時にキーの昇順でソートを行うので、J-OSなどJaPon以外の環境では
 [Kato][男]
 [Sato][男]
 [田中][女]
のようなレコードの順でDBが作成されます
一方JaPonでは
 [田中][女]
 [Kato][男]
 [Sato][男]
のような順でDBが作成されますが、これが問題となります。
DBからデータを抽出するにはDbReadという命令を以下のようにして使います。
 Key="Sato"
 DbRead(ID,Key,data)
ところがJaPon環境では目的のレコードを特定出来ずエラーとなってしまいます

推測ですが、NS BasicはDBキーが文字列の昇順にソートされていると認識し、第1レコードのキー"田中"を見つけた時、それ以降に"Sato"というキーは無いと判断して検索を中断してしまうからだと考えています。

以上が相性問題の内容です。
問題点がJaPonとNS Basicの根本に関わるものですので対応困難だと考えてますが、現象は報告するべきだろうと思い書き込みました。
Page: [1]

Re: JaPonとNS Basicの相性問題 ( No.1 )
日時: 2005/04/28 23:59
名前: 関野  <sekino@mtb.biglobe.ne.jp>
参照: http://www5f.biglobe.ne.jp/~T-Pilot/PalmWares/JaPon/pre/JaPon-Inst-10e.prc

近所の無線ランスポットに出かけていってNSBasicを入手し、
久しぶりに触ってみました
(といっても、前回はシリアル通信関連のマニュアルを見ただけですので、実質初めて)
細かいことを気にしないでよいので簡単で良いですね
(細かいことをしようと思うと厳達さんのようになってしまうのかしら)

環境
[NS Basic for Palm 4.4.0]デモ版
JaPon v.1.0e
Tungsten|T5

---------------
 DbInsert( ID, "Kato", "男")
 DbInsert( ID, "田中", "女")
 DbInsert( ID, "Sato", "男")
の順でレコードの追加を行いました
で、結果ですが
 [Kato][男]
 [Sato][男]
 [田中][女]

日本語OSで実行したのと同様の結果(これはシミュレータ上で確認)
これでOKですよね

一方、純粋な英語環境では
 [田中][女]
 [Kato][男]
 [Sato][男]
とご指摘の並び順でした

---------------
どのあたりのバージョンで落ち着いたか忘れてしまいましたが
JaPonの初期の段階でちょこちょことソートに関する実装に変更を加えています
できるだけ新しいJaPonで試していただけないでしょうか

---------------
もしくは、JaPonが動き出せていない可能性があります
(といっても、可能性があるのはZodiacのみなのですが)
メモ帳で日本語の文章をスタイラスで選択してみて
表示が乱れる場合はJaPonが動き出せていません
このばあい、ソフトリセットを試みてみてください

---------------
「あちゃ、また不具合あったか」とがっかりしましたが
最新版では大丈夫そうなのでちょっと安心
駄目だったらしつこく書き込みお願いいたします
追記 ( No.2 )
日時: 2005/04/29 00:31
名前: 関野  <sekino@mtb.biglobe.ne.jp>
参照: http://www5f.biglobe.ne.jp/~T-Pilot/PalmWares/JaPon/pre/JaPon-Inst-10e.prc

サイト拝見させていただきました

シミュレータでテストされているのですね
これが今回の不具合の原因です

えーと、開発者の方には非常に申し訳ないのですが
JaPon環境は実機でないと再現できません
日本語文字が表示できるので一見動いているように見えますが...

理由
JaPonは数多くのハッキングを行うことで日本語環境を構築しています
日本語文字の表示処理のみOSに任せて、その他はARMネイティブのコードでハッキングするという構成
で、シミュレータではARMネイティブのコードが動かせないのはご存知でしょうか?

少々手間は増えてしまいますが、
日本語OSのシミュレータでデバッグ
だいたいいけそうな段階になったら実機でチェック
でお願いします

かなり良い線まで日本語OSに合わせこんでいますので
ほとんど不具合でないはず

おまけ
J-OSがONであるように表示されるのは二つ理由があります
1.JaPonが国情報、言語情報が日本に設定されているように見せている
2.J-OSは英語環境で無い場合はONであるという判断を行っている

なかなか試せないとはおもいますが
例えばEnglishではなくてFrenchにしてある場合でもJ-OSはONの表示をするはずです

で、どうせ国情報、言語情報を日本で無いように設定してもJ-OSはONという表示をしてしまうので、いっそのこと純正の日本語OSと同じにしてしまえということにした次第

JaPonをONにすると
リセット直後は「日本語」「NetherlandsAntilles」という状況で立ち上がり
その後「日本語」「日本」という環境に見せかける処理を行っています

「状況の切り分け」できていない段階でも書き込んでいただいてかまいませんよ
躊躇せずに書き込んでくださいね
(この手の話題、つらいときもありますが、けっこう楽しんでいますので)
Re: JaPonとNS Basicの相性問題 ( No.3 )
日時: 2005/04/29 02:24
名前: いなあも  <inarmo@infoseek.jp>
参照: http://inarmo.hp.infoseek.co.jp/

関野さん、早速の調査ありがとうございます。
早速JaPon v1.0eでテストを行ってみましたが結果はNGでした。
ここで、僕のほうにも少し勘違いがあったようです。
 DbInsert( ID, "Kato", "男")
 DbInsert( ID, "田中", "女")
 DbInsert( ID, "Sato", "男")
の順でデータを作成した場合は
 [Kato][男]
 [Sato][男]
 [田中][女]
の順で作成されました。ここで、一部のキー文字列の先頭に、
0x20未満のキャラクタコードを追加して以下の命令を実行してみました。
 DbInsert( dId, &h09+"Kato", "男")
 DbInsert( dId, "田中", "女")
 DbInsert( dId, &h09+"Sato", "男")
すると、JaPonでは並び順が以下のようになりました
 [田中][女]
 [Kato][男]
 [Sato][男]
ちなみに、J-OS、日本語OSでは以下のような並び順になり、問題はありませんでした。
純粋な英語環境でも同様です。
 [Kato][男]
 [Sato][男]
 [田中][女]

テストを行った環境は下記のとおりです
Tungstrn|C(英語版OS、JaPon1.0e、J-OS for Tungsten|C ver2.2)
PEG-NX80V(PalmOS5.2日本語版)

#シミュレータではなく実機での検証を行っております。
Re: JaPonとNS Basicの相性問題 ( No.4 )
日時: 2005/04/29 10:20
名前: いなあも  <inarmo@infoseek.jp>
参照: http://inarmo.hp.infoseek.co.jp/

補足します。

今回の件は、ユーザから「JaPon環境で、拙作B-CALの挙動がおかしい」という報告を頂いたのが発端でした。

調べてみると、B-CALで3人以上の氏名と生年月日を登録した際に、表示アイコンの種類の情報がクリアされて、デフォルト表示に戻ってしまうという現象が確認されました。
また、登録する氏名が日本語の場合のみにこの現象が出ると言う報告もいただきました。

これらをまとめて調査した結果が今回の報告です。

先日、JaPon環境で正常動作させるための機能修正をB-CALに施したのですが、必要であれば旧バージョンは以下のURLからダウンロード可能です。

http://inarmo.hp.infoseek.co.jp/tmBC/B-CAL121.zip
Re: JaPonとNS Basicの相性問題 ( No.5 )
日時: 2005/05/02 03:55
名前: 関野  <sekino@mtb.biglobe.ne.jp>
参照: http://www5f.biglobe.ne.jp/~T-Pilot/PalmWares/JaPon/pre/JaPon-Inst-10f.prc

JaPonに修正を入れました

どうでしょう?
Re: JaPonとNS Basicの相性問題 ( No.6 )
日時: 2005/05/02 09:01
名前: いなあも  <inarmo@infoseek.jp>
参照: http://inarmo.hp.infoseek.co.jp/

関野さん、ご苦労様です。

一応、B-CAL1.2.1と、そのほかこちらで用意したテストプログラムでは、正常に動作しているようです。
暫くこれで様子を見させていただきますが、正常に動作している模様です。
対応どうもありがとうございました。

Page: [1]