« ケンウッド・ショールーム 「大人の音楽講座・オーディオ編」 | トップページ | HP200LXの一部が欠けた »

2010年12月 6日 (月)

[Python S60 2.0.0] e32.Ao_lock.Signal() の問題 「とりあえず解決」

2010-12-06(月)晴れ

 [Python S60 2.0.0]を使ってみての結果で、未解決で残っていた問題がありましたが、とりあえず何とかする事が出来ました。

問題点:
 e32.Ao_lock() を使用して、e32.Ao_lock() のsignal()を発行すると、Pythonごとダウンしてしまう。
 この件の前回の記事 「[Python S60 2.0.0] e32.Ao_lock.Signal() の問題

直接的な原因:
 appuifw モジュールのListboxでリストを画面表示した状態でsignal()を発行すると、Pythonごとダウンしてしまうことが分かりました。[Python S60 2.0.0]のListboxについては、画面上でペンや指を動かして行うスクロールもうまく動作しない(注1)とか、何か動作がおかしいのですが、何かバグがあるのかもしれません。

  注1:リストのスクロールがうまく行かないというのは、Nokai のPythonフォーラムでも書かれていましたから、私の携帯電話固有の問題ではないと思います。

当面の対策:
 appuifw.Listbox を使用しているスクリプトでは、signal()を発行する前に、画面表示を リスト表示(appuifw.Listbox ) から テキスト表示(appuifw.Text())に切り替える。これは、対症療法ですが、当面は仕方ないかもしれません。

当面の対策の例:
-----------------------------------------------
    def exit_key_handler(self):
        appuifw.app.exit_key_handler = None
        appuifw.app.body = appuifw.Text()   #* <----- signal() の前にこれを実行する
        self.lock.signal()
-----------------------------------------------

 これで、signal() を実行してもダウンすることなく動くようになりました。

 今まで、何点かの対策を入れてきましたが、これで何とか、同じスクリプトでPython 1.4.5  でも Python 2.0.0 でも動くようになりました。

 

|

« ケンウッド・ショールーム 「大人の音楽講座・オーディオ編」 | トップページ | HP200LXの一部が欠けた »

Python」カテゴリの記事

アプリケーション」カテゴリの記事

携帯電話」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/513620/50229427

この記事へのトラックバック一覧です: [Python S60 2.0.0] e32.Ao_lock.Signal() の問題 「とりあえず解決」:

« ケンウッド・ショールーム 「大人の音楽講座・オーディオ編」 | トップページ | HP200LXの一部が欠けた »