マクロからの秀丸呼び出しが変ですNo.01053
Makkie さん 01/04/17 10:21
 
鶴亀メールのマクロから runsync2 で秀丸を呼び出すと、マクロが実行中のまま
になって終了しないという現象が、最近のバージョンで起きてます。クリックし
てマクロの実行を中断させることはできます。以下のサンプルマクロで(私の環
境では)再現します(Windows95です。1.07 でも起こります)。

------------------------------------------------------------------------
$HidemaruPath = "............";  //  秀丸のパス名
$MacroName    = "............";  //  秀丸マクロ名(最後は exit で終る)
$FileName     = "............";  //  テキストファイル名(新規ファイル)
loaddll "TKInfo.dll";
#n = dllfunc ( "SetMailIndex", 0 );
selectall;
copy;
runsync2 $HidemaruPath + " /x " + $MacroName + " " + $FileName;
message "処理終了";
freedll;
endmacro;
------------------------------------------------------------------------

但し、これは常駐秀丸がいない状態(レジストリには常駐指定があるが、まだ秀
丸が何も立ちあがっていない状態)のときにだけ発生します。

runsync2 で呼び出した秀丸の処理そのものは、意図した通りに行われているよう
です。

鶴亀メールのベータ版では、こういうことはなかったと思います。正式版のどこ
かの時点からこうなりました。調査をよろしくおねがいします。

[ ]
RE:01053 マクロからの秀丸呼び出しが変ですNo.01054
秀まるお2 さん 01/04/17 10:44
 
> 但し、これは常駐秀丸がいない状態(レジストリには常駐指定があるが、まだ秀
> 丸が何も立ちあがっていない状態)のときにだけ発生します。

 だとしたら仕様であり、V1.07以前からも同じ動作のはずです。runsync2は起動し
たプロセスが終了するまで待ち続けるので、常駐秀丸を終了するまで返ってきません。

 一度、常駐秀丸を終了してマクロが続行するかどうか確認してみると分かります。

 秀丸エディタの常駐をONにしている場合はスタートアップで常駐秀丸を起動しても
らわないと、こういうプロセス終了待ちをするソフトとの同期はどうにもならないで
す。

[ ]
RE:01054 マクロからの秀丸呼び出しが変ですNo.01057
Makkie さん 01/04/17 11:22
 
> だとしたら仕様であり、V1.07以前からも同じ動作のはずです。runsync2は起動し
>たプロセスが終了するまで待ち続けるので、常駐秀丸を終了するまで返ってきません。
>
> 一度、常駐秀丸を終了してマクロが続行するかどうか確認してみると分かります。
>
> 秀丸エディタの常駐をONにしている場合はスタートアップで常駐秀丸を起動しても
>らわないと、こういうプロセス終了待ちをするソフトとの同期はどうにもならないで
>す。

なるほど。常駐秀丸だからマクロの exit を実行しても、制御は runsync2
側には帰らないと・・・・

おしゃるように、以前からそうで、鶴亀の環境構築で秀丸サイドもいろいろ
いじったのが原因ででしょう。

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

[ ]