DIGIらいふ 〜スマートに行こう!〜

2006-11-07

[][][] M-FEP3 Ver 0.5.0を公開(テスターの方限定m(_ _)m) 18:51

とりあえず動作が安定したっぽいので公開しました。ぜひお試し下さいm(_ _)m。ただし今回は内部仕様の大幅な変更によりコードをほとんど書き直したので、見た目はあまり変わって無くても所々おかしいかも知れません(-o-;。なお今回からバージョン番号を付けました。今回のは「Ver 0.5.0」です。


↓今回の修正内容

  • Notesで落ちる不具合の修正(ただしQuickOfficeは相変わらずダメダメ)
  • 辞書をSISから外し、別ファイルに移行(FEPの単体起動可能&辞書はMSにインストール可能)
  • 漢字変換の高速化
  • 漢字変換時の候補に仮名や英字を追加
  • 初回起動時のAlt固定現象を修正(暫定)
  • 文字入力時に上下キーやジョグでいきなり変換するように修正
  • Text inputのSetupボタンを押すとバージョン番号が確認できます

これが安定したら次は助詞対応などで変換効率を上げていきたいと考えています。


ソースコードを公開しておきます。興味のある方はどうぞ〜(^^)。

ソースコード(M-FEP3 Ver 0.5.0)

[][][] とりあえずNotesで落ちなくなりました 11:21

問題の箇所を下記のように書き直したら動作するようになりました。勝手な推測ですが、まずファイルセッションは既にコネクトされている状態だったようで、そこにさらにコネクトを要求したのでバグったようです。あとクリーンアップスタック(プッシュとかポップとか)の処理も間違っていたようです。この辺はまだ良く解っていない所があるのでもう一度Symbian本あたりで勉強しなおさないと…(汗)


↓ちなみにリードオンリー&テキストファイルの場合です。

RFileReadStream reader; //リードストリームの作成

//クリーンアップスタックプッシュ

reader.PushL();

//ファイルのオープン

User::LeaveIfError(reader.Open(m_pCoeEnv->FsSession(),in_descFilePath,EFileRead| EFileStreamText));

//----------

//ファイル操作

//----------

//クリーンアップスタックポップ&クローズ

reader.Pop();

reader.Close();

ma_digilifema_digilife 2006/11/07 12:30 自己レスです。
Symbian本(P427)に「すでにオープンされたRFsがCONE環境に存在するので、(中略)単にiCoeEnv->FsSession()を利用すればよい。」という記述を見つけました。
やはりファイルセッションへのConect()は余計だったようです。
PushもPopも上記記述で特に問題は無さそうです。
ただしCloseが必要かどうかはまだ不明…。

ma_digilifema_digilife 2006/11/07 12:36 更に追記。
Symbian本をみるとPop()とClose()を使わずに「CleanupStack::PopAndDestroy();」で終了している。
実際に動作させると問題なく動くのでこれが正解っぽいです。

ma_digilifema_digilife 2006/11/07 14:41 更に追記。
「CleanupStack::PopAndDestroy();」だとアプリは終了してくれるが、再度なにかしらのファイルを開こうとするとエラーがでます(汗)。
やはりPop()&Close()が無難なようです。