鶴亀メールエディタからdirecttagjumpNo.00378
iwadjp さん 03/04/27 10:20
 
iwadjpです。

鶴亀メールのエディタからdirecttagjumpを行いたく、以下のようなマクロで試して
いるのですが、runsync2でresult=0となり、うまくいきません。マクロのどこに問題
があるのかご指摘頂けないでしょうか?

// DirectTagJump.mac(鶴亀メールで指示するマクロ)

#x = x; #y = y;
gowordtop; beginsel; gowordend; copy;
moveto #x, #y;
$cmd = "\"" + hidemarudir + "\\hidemaru.exe /xDirectTagJumpExe.mac\"";
runsync2 $cmd;

// DirectTagJumpExe.mac(実際にdirecttagjumpを行うマクロ)

paste;
gofiletop;
directtagjump;
quit;

[ ]
RE:00378 鶴亀メールエディタからdirecttaNo.00379
たけのこ さん 03/04/27 10:29
 
たけのこです。

> $cmd = "\"" + hidemarudir + "\\hidemaru.exe /xDirectTagJumpExe.mac\"";

この行は

$cmd = "\"" + hidemarudir + "\\hidemaru.exe\" /xDirectTagJumpExe.mac";

では? 引数全体を二重引用符でくくると、それ自体が1ファイル名と認識され
ると思います。

(^^)/”

[ ]
RE:00379 鶴亀メールエディタからdirecttaNo.00380
iwadjp さん 03/04/27 11:27
 
たけのこさん、ありがとうございます。

>$cmd = "\"" + hidemarudir + "\\hidemaru.exe\" /xDirectTagJumpExe.mac";

この記述で、runsync2は正常終了し、DirectTagJumpExe.macが実行されるまではたど
りつきました。
簡単な文法ミスでお手数をお掛けしました。

現状では、directtagjumpしたwindowが閉じられ、pasteしたwindowが残る状態ですの
で、次はこの辺りを修正して見ます。

[ ]
RE:00380 鶴亀メールエディタからdirecttaNo.00381
iwadjp さん 03/04/27 15:55
 
iwadjpです。

>現状では、directtagjumpしたwindowが閉じられ、pasteしたwindowが残る状態ですの
>で、次はこの辺りを修正して見ます。

この辺りを修正して、秀丸、鶴亀共通でCtrl+F10により、一応できるようにな
りました。
しかし、かなり強引な手法のようで、鶴亀の場合windowがいったりきたりする
状態です。他にベストな方法があればご指摘下さい。

// DirectTagJump.mac(鶴亀メールで指示するマクロ)

loaddll "tkinfo.dll";

if ( result ) {
    if ( dllfunc("IsTuruKame") ) {
        #x = x; #y = y;
        gowordtop; beginsel; gowordend; copy;
        moveto #x, #y;
        $cmd = "\"" + hidemarudir + "\\hidemaru.exe\" /x DirectTagJumpExe.mac";
        run $cmd;
    } else {
        directtagjump;
    }
} else {
    directtagjump;
}

freedll;

// DirectTagJumpExe.mac(実際にdirecttagjumpを行うマクロ)

paste;
gofiletop;
directtagjump;
prevhidemaru;
quit;

[ ]
RE:00381 鶴亀メールエディタからdirecttaNo.00382
山紫水明 さん 03/04/27 20:54
 
 iwadjpさん,こんばんは。

》しかし、かなり強引な手法のようで、鶴亀の場合windowがいったりきたりする
》状態です。

》directtagjump;
》prevhidemaru;
》quit;

最後のこの部分を

#handle = hidemaruhandle(0);
directtagjump;
closehidemaruforced #handle;
endmacro;

としたらいかがでしょう。

     では, (^^)/~
                                        山紫水明

[ ]
RE:00382 鶴亀メールエディタからdirecttaNo.00383
iwadjp さん 03/04/27 22:23
 
山紫水明さん、ありがとうございます。

ご指摘の通り、以下のように変更したところ、かなりすっきりdirecttagjump
が行えるようになりました。

// DirectTagJumpExe.mac(実際にdirecttagjumpを行うマクロ)

paste;
gofiletop;
#handle = hidemaruhandle(0);
directtagjump;
closehidemaruforced #handle;
endmacro;

directtagjumpに失敗した際に、秀丸でもマクロの中断メッセージが出たり、
鶴亀でpasteしたwindowが残るなど、まだ改善の余地はありますので、地道に
直して行こうと思います。


[ ]