menuarray 中に閉じたら...No.00161
セキセイニャンコ さん 98/06/24 22:07
 
マクロ中で menuarray でメニューを出して、メニュー表示中にウィンドウ
右上角の×をクリックで該当ウィンドウを閉じてしまうと、「このプログラムは
不正な処理を行ったので強制終了されます。」が出てしまいます。

また、秀丸を常駐していた場合には常駐秀丸を終了させるまで、その後に
マクロを実行しようとすると「他の秀丸がマクロ実行中です」となって
しまいます。

なお、Win95 + PLUS の環境です。バグでしょうか? それとも回避の方法が
あるのでしょうか? 自分で使っているぶんにはたいした害はないのですが...
あ、もし、既知の話題だったらごめんなさい^^;。

[ ]
RE:00161 menuarray 中に閉じたら...No.00163
番頭++ さん 98/06/25 11:39
 
セキセイニャンコさん、はじめまして ...

>バグでしょうか?
あちきはバグだと思います。

>「他の秀丸がマクロ実行中です」となってしまいます。
マクロはその窓には依存せず走り続けている場合があります。
たとえば、来るはずの無い、アテンションを待ち続けるとか ...
その様な場合には「常駐」を止めると、マクロも終わります。
バグなのか仕様なのは解りません。

マクロがその窓には依存せず走り続けるのは仕様でしょう。

>それとも回避の方法が ...

disablebreak; // これを入れると「不思議に回避」できませんか ?
$m1[0]="11"; $m1[1]="22"; $m1[2]="33";
menuarray $m1,3;
message time;
endmacro;

これも、バグなのか仕様なのは解りません。

番頭++ でした。

[ ]
RE:00163 menuarray 中に閉じたら...No.00164
番頭++ さん 98/06/25 18:26
 
 それと、トラブル等の報告は、
「秀丸エディタ 情報交換」に投稿すのが、決まりなのかなぁ ...

ここには「秀丸担当」様のコメントは無いような気がします。

[ ]
RE:00163 menuarray 中に閉じたら...No.00165
セキセイニャンコ さん 98/06/25 21:05
 
番頭++さん、こんにちは。

>disablebreak; // これを入れると「不思議に回避」できませんか ?
>$m1[0]="11"; $m1[1]="22"; $m1[2]="33";
>menuarray $m1,3;
>message time;
>endmacro;
>
>これも、バグなのか仕様なのは解りません。

早速試してみて、目的を達しました。
マクロヘルプを読む限りでは、disablebreak の本来の使用法では
なさそうですが、ともかく目的を達するには確実そうですね。
貴重なアドバイス、ありがとうございました m(_ _)m

>disablebreak; // これを入れると「不思議に回避」できませんか ?
>$m1[0]="11"; $m1[1]="22"; $m1[2]="33";
>menuarray $m1,3;
>message time;
>endmacro;
>
>これも、バグなのか仕様なのは解りません。
>
>番頭++ でした。

[ ]
RE:00164 menuarray 中に閉じたら...No.00166
秀丸担当 さん 98/06/26 17:15
 
> それと、トラブル等の報告は、
>「秀丸エディタ 情報交換」に投稿すのが、決まりなのかなぁ ...

うーむ、そうですね。
べつに決まりがあるわけではないですが、そう思ってもらったほうがありがたいです。

[ ]
RE:00165 menuarray 中に閉じたら...No.00167
秀丸担当 さん 98/06/26 17:15
 
再現させようとしてみたのですが、

>disablebreak; // これを入れると「不思議に回避」できませんか ?
>$m1[0]="11"; $m1[1]="22"; $m1[2]="33";
>menuarray $m1,3;
>message time;
>endmacro;

このdisablebreak;をコメントにしたマクロを実行しても再現できませんでした。
このマクロ(の一行目をコメント)で再現するのでしょうか?

[ ]
RE:00167 menuarray 中に閉じたら...No.00168
秀丸担当 さん 98/06/26 18:47
 
>このdisablebreak;をコメントにしたマクロを実行しても再現できませんでした。
>このマクロ(の一行目をコメント)で再現するのでしょうか?

と思ったら、瞬間起動をOFFにしたら再現できました。
調べます。

[ ]
RE:00168 menuarray 中に閉じたら...No.00169
番頭++ さん 98/06/26 19:02
 
再現方法ですが、

1. test1.mac を初めに実行します。
2. その次に test2.mac を実行します。
3. その後に test1.mac を実行しても再現しないことがあります。そうみたいです。

できれば、Windows 95 が立ち上がった直後で、テストしてみて下さい。
何らかの「操作 ? 」を行なった後では、トラブルにはなりません。そうみたいです。

// test1.mac
$m1[0]="11"; $m1[1]="22"; $m1[2]="33";
menuarray $m1,3;
endmacro;

// test2.mac
disablebreak; // これを入れると「不思議に回避」できませんか ?
$m1[0]="11"; $m1[1]="22"; $m1[2]="33";
menuarray $m1,3;
endmacro;

...


ここまで、書いたので 。。。

再現しましたか、宜しくお願いします。
個人的には、あまり困っていません、以前に操作ミスをして、
このトラブルに遭遇しました、です。

[ ]
RE:00169 menuarray 中に閉じたら...No.00171
秀丸担当 さん 98/06/30 11:17
 
>できれば、Windows 95 が立ち上がった直後で、テストしてみて下さい。
>何らかの「操作 ? 」を行なった後では、トラブルにはなりません。そうみたいです。

いやその、瞬間起動をOFFにしたら再現できました。
バグ修正中です。

[ ]