runexの動作速度についてNo.06733
ohtorii さん 11/08/10 23:31
 
こんにちわ。

「dirコマンドの結果」を秀丸エディタへ挿入するマクロを書いた
のですが、ステータスバーが高頻度で更新されるため、動作速度が
遅いようです。

(具体的な位置はここです)
http://imageshack.us/photo/my-images/192/20110810a.png/


回避策として、runexの結果を非表示の秀丸(diropenfile "/h")へ
挿入するとステータスバーが更新されず、かなり高速に動作します。

ステータスバーを最後に一回だけ更新すれば良いように思うのですが、如何でしょう
か。
改善して頂けると助かります。
よろしくお願いいたします。

--- マクロここから ----
call Main;
endmacro;

Main:
    if(0){
        //非表示の秀丸エディタへ出力すると動作が高速。
        openfile "/h";
    }
   
    $$cmd = "cmd.exe /c dir ";
    $$dir = "C:\\Users\\hoge\\Documents\\github";
    $$dir = "\"" + $$dir + "\"";
    $$opt = "/s";
    $$cmd = $$cmd + " " + $$dir + " " + $$opt;
    //message($$cmd);
    runex $$cmd
        , 0             //sync    0:async 1:sync
        , 0, ""         //stdin   0:none 1:auto 2:file 3:(reserve) 4:all 5:s
elect
        , 1, ""         //stdout  0:none 1:auto 2:file 3:add file  4:new 5:i
nsert 6:replace
        , 0, ""         //stderr  0:none 1:=out 2:file 3:add file  4:new 5:i
nsert 6:replace
        , 0, ""         //folder  0:none 1:current 2:specify 3:(reserve) 4:e
xe's folder
        , 2             //show    0:auto 1:show 2:hide
        , 1             //nodraw  0:draw 1:no draw
        , 0             //unicode 0:ansi 2:unicode
        ;
   
    if(! result){
        message("runexで失敗しました");
        return false;
    }
    return true;
   
--- マクロここまで ----

[ ]
RE:06733 runexの動作速度についてNo.06734
秀丸担当 さん 11/08/11 09:32
 

>「dirコマンドの結果」を秀丸エディタへ挿入するマクロを書いた
>のですが、ステータスバーが高頻度で更新されるため、動作速度が
>遅いようです。

報告ありがとうございます。
確かにそうなることが確認できました。
無題の新規作成状態から実行した場合はステータスバーの更新は抑制されていま
したが、既にファイルがあってrunexによって新しい秀丸エディタに出力する場
合はうまくいっていませんでした。
そういう場合でも更新を抑制するように修正させていただきます。
現状で回避するには、あらかじめnewfile;しておくと回避できました。

[ ]