[ 新規に投稿する ]

未読メールの閲覧設定についてNo.02398
ひろ19 さん 17/11/03 11:21 [ コメントを投稿する ]
  お世話になっております.

さて,未読メールの閲覧設定についてお伺いします.

設定>未読メールの閲覧設定>詳細で,「先頭の未読メール,未読がなければ最新メール,以前選択してメールが...」を選択しているのですが,なぜかこの設定が外れて「以前選択してたメール」になってしまう場合があります.

これは,私の環境特有の問題でしょうか?もしくは何か対処法があるのでしょうか?

環境は,Windows10 Enterprise,秀丸メール64bit版です.秀丸メールのバージョンは, 6.76 Beta7を使っていますが,バージョンによって症状が出たりでなかったりします(このバージョンは良く出ます)

よろしくお願いいたします.
[ ]
RE:02398 未読メールの閲覧設定についてNo.02399
秀まるお2 さん 17/11/03 18:43 [ コメントを投稿する ]
   「全般的な設定 - 未読メールの閲覧 - 詳細」の「フォルダ切り替え時に選択するメールの指定」ですが、一応、ソースコードを見直した限りでは、そこの設定が勝手に書き換える可能性のありそうな処理は無いみたいでした。

 秀丸メールの内部の処理で何らかの設定を一時的に書き換えて元に戻すような処理が存在してて、そういう処理がもしバグってて設定を元に戻さずに処理終了とかすると、設定が勝手に変わってしまう可能性があります。今回問題になってる設定については、そういう、「書き換えて元に戻す」みたいな処理は無さそうでした。

 なので、とりあえず現段階で思いつく可能性としては、設定を書き換えるようなことをするマクロを使ってて、そのマクロが間違って、「フォルダ切り替え時に選択するメールの指定」の設定を書き換えてる可能性があるかなぁと思います。

 例えばご自身が秀丸メールで利用するマクロの中に、

   writeregnum

 の命令を使ってる物があるかどうか探してみると、そういう可能性があるかどうかは判定可能です。ちなみに問題の設定は、レジストリの中の

    AutoSelectUnread

 って値なので、例えば

   writeregnum "AutoSelectUnread", 0;

 みたいな文があれば書き換わるのだろうと思います。

 もしそういう可能性が無いはずだとしたら、あとは僕の想定を超える何らかのバグがあって値が書き換わってしまってるのかもしれないので、もしそうだとしたら、再現方法が不明ということで・・・。

 秀丸メールのβ版に、例えば1秒に1回の頻度で問題の設定が書き換わってないか監視するような処理を追加して、それでもしも設定が書き換わってたらdump.txtに詳細を出力してメッセージ表示する、みたいなことなら可能です。それでずっと普通に使ってもらって、エラーメッセージが出たらdump.txtを送ってもらうって作成が考えられます。

 そういう作戦でどうでしょうか。

 もしマクロが関係なさそうでしたら、そういう処理を次のβ版に入れてみてテストしていただく作戦をお願いしたいです。
[ ]
RE:02399 未読メールの閲覧設定についてNo.02402
ひろ19 さん 17/11/05 18:40 [ コメントを投稿する ]
  ご返信ありがとうございます.

使用しているマクロを調べたところ,「SetFolderStatus.mac」というマクロでご指摘の

writeregnum "AutoSelectUnread", 0;

を使用している行が有りましたので,これが影響しているということですね.

そうなると,このマクロを使わないというのがまずはの解決策になろうと思いますが,沢山あるフォルダを自動的に畳んでくれるマクロなので非常に重宝しており,(これを使わないという選択には)悩みどころです.


> 「全般的な設定 - 未読メールの閲覧 - 詳細」の「フォルダ切り替え時に選択するメールの指定」ですが、一応、ソースコードを見直した限りでは、そこの設定が勝手に書き換える可能性のありそうな処理は無いみたいでした。
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理しました。≫
> もしマクロが関係なさそうでしたら、そういう処理を次のβ版に入れてみてテストしていただく作戦をお願いしたいです。
[ ]
RE:02402 未読メールの閲覧設定についてNo.02404
秀まるお2 さん 17/11/06 09:17 [ コメントを投稿する ]
   その「SetFolderStatus.mac」は、今探してみたら、たまがわさんの作成された「アカウント・フォルダの折り畳み・展開状態を記録・復元するマクロ Ver 1.02」に含まれてるようです。

 今ちょっとそれをダウンロードして中身を見てみたんですが、マクロ自体には問題無いと思います。なので、可能性として考えられるのは、

 1.古いバージョンのマクロを使ってて、もしかしてその古いバージョンの方にバグがある。

 か、または、

 2.マクロを実行して、途中でマクロを中断すると、設定が書き換わった状態のまま放置されてしまう。

 のどっちかじゃないかと思います。

 とりあえず最新版をダウンロードしなおしてみるのがお勧めです。

    http://hide.maruo.co.jp/lib/tkmacro/folder102.html

 「2」の可能性もあるのですが、その対処のためには、そもそもマクロでレジストリの書き換えをしないように直してしまう作戦もありかと思います。


if (#flag && 3) {
    writeregnum "AutoSelectUnread", 0;
    closereg;
    #n = dllfunc("EnvChanged");
} else {
    closereg;
}

 って処理があるんですが、ここの処理を

//if (#flag && 3) {
//    writeregnum "AutoSelectUnread", 0;
//    closereg;
//    #n = dllfunc("EnvChanged");
//} else {
    closereg;
//}

 のように「//」でコメントアウトして、レジストリを書き換えないようにしてしまってもいいんじゃないかと思います。それでもマクロはうまく動くと思います。

 その作戦でどうでしょうか。

 マクロの最後にある

if (#flag && 3) {
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    writeregnum "AutoSelectUnread", #flag;
    closereg;
    #n = dllfunc("EnvChanged");
}

 も不要なので、

//if (#flag && 3) {
//    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
//    writeregnum "AutoSelectUnread", #flag;
//    closereg;
//    #n = dllfunc("EnvChanged");
//}

 のようにコメントアウトしても大丈夫だと思います。
[ ]
RE:02404 未読メールの閲覧設定についてNo.02425
ひろ19 さん 17/11/07 12:31 [ コメントを投稿する ]
  ありがとうございます.

ご教授頂いた方法を,早速試してみます.その後,また症状が出るようでしたら,ここに書かせていただきます.

よろしくお願い申し上げます.


> その「SetFolderStatus.mac」は、今探してみたら、たまがわさんの作成された「アカウント・フォルダの折り畳み・展開状態を記録・復元するマクロ Ver 1.02」に含まれてるようです。
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理しました。≫
> のようにコメントアウトしても大丈夫だと思います。
[ ]

[ 新規に投稿する ]