Windows CEで外部ストレージに実行ファイルやメールボックスを置くとハングアップします

Windows CE版で実行ファイルやメールボックスを外部メモリカードに置き、QMAIL3を起動したままサスペンドすると、サスペンドから復帰したときにハングアップすることがあります。これは、Windows CEのバージョンや使用するドライバによっては、サスペンドするときに外部ファイルのハンドルを強制的に閉じてしまうためだと思われます。

このようなケースでは以下のような対処をすることができます。

実行ファイル

実行ファイルは本体メモリ上に置いてください。

メールボックスディレクトリ

外部メモリ上にメールボックスディレクトリを置く

可能であればメールボックスディレクトリは本体メモリ上に置いてください。容量などの関係で本体メモリに置くことができない場合、以下のことを守って運用します。

  1. その他の設定で[ウィンドウが非アクティブになったら保存する]にチェックを入れる
  2. サスペンドするときには、QMAIL3が最前面にないことを確認する

これによって、外部メモリ上にあるファイルを開いたままになるのを極力抑えることができます。または、サスペンド前に[ファイル]-[保存]を選択して明示的にデータをフラッシュすることもできます。

メッセージのファイルだけを外部メモリ上に置く

本体メモリにメールボックスディレクトリを置き、実際に一番容量を必要とするメッセージのファイルだけを外部メモリに置くこともできます。このような設定にするには以下のような作業を行います。

まず、アカウントを作成するときには、1メッセージ1ファイルの設定で作成します。アカウントを作成したら一度QMAIL3を終了します。そして、アカウントのディレクトリにあるaccount.xmlをエディタで開きます。ファイルの中で以下のようなところを探します。

<section name="Global">
  <key name="Class">mail</key>
</section>

ここに一行追加して以下のようにします。

<section name="Global">
  <key name="Class">mail</key>
  <key name="MessageStorePath">\メモリカード\mail</key>
</section>

「\メモリカード\mail」の部分には実際にデータを置きたいディレクトリを指定してください。指定するディレクトリはあらかじめ作成しておく必要があります。account.xmlを保存してエディタを終了したら、QMAIL3を起動します。メールを受信したり作成したりして、指定したディレクトリにメッセージファイルが作成されていることを確認してください。

このようにすると各種の設定ファイルやインデックスファイルは本体メモリに置いたまま、メッセージファイルを指定したディレクトリに置くことができます。