jContacts の不具合

昨年、E71の購入をき?っかけに Python で書いたjContacts ですが、 日本へ帰って以来、不具合がありながらも、毎日騙し騙し使っています。それというのも400件以上ある常用の電話帳のデータベースを変換するのも面倒。さらに、計6台の携帯端末の住所録をExchange server で同期して、月1度の海外出張で使い分けている身になってみれば International call prefix は + のまま保持していた方が便利。
12月は海外出張無しということで、不具合に手を入れる事にしました。不具合とは、
(1) 特定の電話番号に電話をかけられず、runtime routine上で call in progress になってしまう。
(2) 電話が繋がる前に赤Keyでハングアップしたり、電波が弱くて接続が切れたりすると、同じくruntime routine 上のstatus が in progress のままになってアプリを再起動しないと次の電話が掛けられなくなる。
(3) アプリを立ち上げたまま何度か検索とcallを繰り返すと、検索時にアプリが落ちてしまう。
の3点です。
(1)は、電話番号の最後にスペースが挿入されている時に発生する事が判明。電話帳側を修正して解決。ソースコードの改良は後回し。
(2)は、既に Masa さんが解決されていてMasa さんの改良版をダウンロードして解決。
(3)は、たぶんメモリーのオーバーフローが原因なので、検索前にメモリーをクリーンアップするProcedureを組み込めばたぶんOK。〈-- 作戦は決まったけどまだ手を付けていません。
それよりも重大な問題が発覚、Masa さんの改良版は Shell Script では巧く作動するのですが、Ensymble でコンパイルすると動作しません。Ensymble のversion を変えたり、Python のversion を変えたり色々やりましたがダメ。Masa さんの改良版は電話をかける前に一度 telephone.hang_up()を噛ませているのですが、調べた結果、どうもこの telephone.hang_up()がソースコードのどこかに記載されているとエラーが発生する事が分かりました。完全なコンパイラーのバグです。メールで Masa さんに相談したところ、Masa さんが S60版の py2sis 1.9.2 でSIS化したもを送ってくれました。見事に動作します。 Masa さんのホームページにもアップされています。http://masaland.cocolog-nifty.com/blog/2009/12/python-ce38.html
masa さん どうもありがとうございました。
この週末は、py2sis のE71へのインストールと、(3)の解決です。

Msg sent using Nokia E71-1