特定のマクロを実行すると、10秒程度固まNo.43287
たくたく さん 12/09/17 15:21
 
いつも愛用させて頂いております。
秀丸メールVer.5.78をWindows7 32bit環境で使用しています。

秀丸メールVer.5.72以降(たぶん)で、メールエディタ上で特定のマクロを実行すると
10数秒文字入力が不能になってしまう事象が発生するようになってしまいました。

常に発生するわけではなく、発生しないときは正常に使用できるのですが、
一度発生するようになるとずっとその事象が発生するようになります。
そのマクロは文字入力時に常用していて使用頻度は非常に高く、困っています。
回避方法をご教示頂けないでしょうか。

なお、当方ATOK2010を使用していて、タスクバーに言語バーを最小表示している
のですが、事象発生時には、マクロ実行と同時にタスクバー上の言語バーが
消えて数秒後に再表示というのを2回(下記マクロその2では1回)繰り返し、
それが終わったら文字入力が可能な状態に戻ります。
どうもsetclipboard, addclipboard, appendcut, cutなどのクリップボード操作
コマンドを実行すると『言語バーが消えて数秒後に再表示』が行われ、それが
完了するまで待ちになっているようなのですが…

使用しているマクロは下記の様なものです。
・マクロその1(行末まで切り取り)
 if( replay == 0 ){
  setclipboard "";
 }
 if( code == 0x0D ){
  delete;addclipboard "\x0D\x0A";
 }else{
  disableinvert;
  beginsel;golineend2;appendcut;
  enableinvert;
 }

・マクロその2(選択範囲あるいはマークからカーソル位置まで切り取り)
 if(selecting == 1){
  cut;
 }else{
  disabledraw;
  disableinvert;
  beginsel;
  execmacro "Jump.mac";
  cut;
  enabledraw;
  enableinvert;
 }

・Jump.mac (マクロその2で利用)
 #markx = getininum (macrodir+"/"+basename2+".ini","Option","MarkColumn");
 #marky = getininum (macrodir+"/"+basename2+".ini","Option","MarkLineNo");
 movetolineno #markx,#marky;

・マーク設定マクロ (Jump.macで利用)
 writeininum macrodir+"/"+basename2+".ini","Option","MarkColumn",column+1;
 writeininum macrodir+"/"+basename2+".ini","Option","MarkLineNo",lineno;
 title "Mark Set at "+str(lineno)+":"+str(column+1);
 title -1;

ご多忙中恐縮ですが、よろしくお願いいたします。

[ ]
RE:43287 特定のマクロを実行すると、10秒No.43288
秀まるお2 さん 12/09/18 10:12
 
 秀丸メールでお手数かけてすみません。

 実は、秀丸メールV5.78にて、秀丸エディタのクリップボード履歴に関係した
操作をマクロから実行すると、以前よりも少し遅いという、いわゆるレベルダウ
ンのバグを発生させてしまいました。それが関係してる可能性はあるかなぁと思
います。

 遅いといっても、1つのクリップボード操作について、0.1秒未満程度遅くな
るだけで、極端に繰り返しの処理をしない限りは目立って遅いことは無いはずで
はあります。

 とりあえず、その影響があるかもしれないので、それのバグ修正した
バージョンとして、最新のβ版の方をインストールしてみて欲しいです。秀丸
メールのV5.79βと、あと、出来たら秀丸エディタも最新β(V8.21β)をインス
トールして欲しいです。

 それでももしダメでしたら、1つ最近追加したオプションがあるのでそれを試
してみて欲しいです。秀丸エディタの方で「動作環境」を実行し、「トラブル対
策」ページの「その他のトラブル対策...」の、「クリップボードの監視に新し
い方式を使う」をONにして欲しいです。それで回避される可能性があります。



 それでも回避されないとしたら、あとは言語バーをOFFにしてATOKパレットだ
けを表示する設定にして使っていただく作戦があります。というか、それしか無
いような気がします。

 それをやるとしたら…

 とりあえず言語バーを非表示にするには以下のようにすればいいようです。
    http://ww2.frontier-k.co.jp/kzwiki/wiki.cgi?page=Windows7+IME%B8%C0%B8%EC%A5%D0%A1%BC%A4%F2%C9%BD%BC%A8%A1%A6%C8%F3%C9%BD%BC%A8%A4%CB%A4%B9%A4%EB%CA%FD%CB%A1

 あとはATOKパレットを表示する設定にすればいいのかなぁと思いますけども。

 うまくいかないようでしたら、こちらでもATOK2010をインストールして設定方
法を探してみますので、すみませんがまた連絡ください。

[ ]
RE:43288 特定のマクロを実行すると、10秒No.43291
たくたく さん 12/09/18 12:55
 
ご回答ありがとうございます。
ご教示頂いた内容で、まずは様子を見てみます。

[ ]
RE:43291 特定のマクロを実行すると、10秒No.43292
たくたく さん 12/09/18 21:44
 
上記ご回答を頂いてからしばらく事象が出なかったので、秀丸のバージョンを8.12→
8.20に上げるだけ上げて様子を見ていましたが、
先刻事象が発生したのでご紹介頂いた『「クリップボードの監視に新し
い方式を使う」をONにする』を行うと事象が解消したようです。

もう少しこの設定で様子を見てみますが、たぶんこれで大丈夫と思います。
ありがとうございました。

[ ]
RE:43292 特定のマクロを実行すると、10秒No.43294
秀まるお2 さん 12/09/18 22:22
 
 クリップボードの監視方式を変更して解決したということは、もしかして
googleツールバーをお使いだったりしませんでしょうか。

 実は、googleツールバーをインストールしていると、Internet Explorerを終
了してしばらくの間、クリップボードに関係したマクロ命令を実行した時に数秒
固まる事例があります。

参考情報:
http://www.maruo.co.jp/hidesoft/2/x31422_.html

 とりあえず直ってるのでしたらそのまま使っていただいて大丈夫かと思います
が、念のため、もしもgoogleツールバーをお使いで、あまりご利用でないような
ら、アンインストールしていただいた方がいいかと思います。

[ ]
RE:43294 特定のマクロを実行すると、10秒No.43303
たくたく さん 12/09/19 21:15
 
googleツールバーはインストールしています。

クリップボード監視にClipboard Format Listenerを使う設定に変えて一日使ってみ
て、とりあえず問題は起きていないので、
人柱も兼ねて ;-P このままgoogleツールバーを残したままにしてみようと思います。

ありがとうございました。

[ ]