マクロ正常終了後、次のマクロが実行できNo.27906
rosegardenyk さん 10/04/04 18:52
 
Rosegardenです。
はじめて投稿します。

これまで快調にマクロの開発してきました。
本日突然、マクロが実行できなくなりました。といっても秀丸を立ち上げて最初の一
回目は正常に実行します。endmacroで正常にし終了しています。再起動させても同じ
です。いまのままだと毎回日秀丸を終了してからでないと開発のためのテストができ
ません。
どこをどうチェックすればよいのかわかりません。
よろしくご指導ください。

[ ]
RE:27906 マクロ正常終了後、次のマクロがNo.27907
Iranoan さん 10/04/04 19:13
 
 rosegardenyk さん今日は、一ユーザの Iranoan です。
> 本日突然、マクロが実行できなくなりました。
 何かエラーは出ませんか?

 ありがちなのは、ウィンドウが隠れているだけで、マクロが実は終わってい
ない、という場合です。この場合は、
showwindow 0;
openfile "/h";
(他にも有ったかなあ〜?) でウィンドウを非表示にしていたら、それを一旦止
める事です。その上で、message で何処まで実行しているか確認して下さい。

[ ]
RE:27907 マクロ正常終了後、次のマクロがNo.27910
rosegardenyk さん 10/04/04 20:28
 
>何かエラーは出ませんか?
早速のお返事ありがとうございます。

ご質問への返事ですが
1.何のエラーも出ませんでした。
2.秀丸以外全て落として試しました。
3.私も他にマクロがBackgroundで動いているかと思ってタスクマネージャで確かめ
ましたが、当秀丸エディター以外は表示されませんでした。

投稿後、自分のやったことを少しずつ、後戻りさせて試したところ原因と思われる点
が判明しました。

複数行にまたがるコメント、の後ろが抜けていたのです。
/*
..
*/  ← これを記述しわすれていました。
ちゃんと記述したら、前と同じく、秀丸を落とすことなく何度もマクロの実行ができ
るようになりました。
試しに、わざと */ 取ったらやってみたら、おなじ問題を再現できました。
こんなことってあるんですね。以前には報告されたことはないのでしょうか?
前にも */の記述忘れはしたことがとあると思うんですが、"マクロがおかしいです"
メッセージ、出してほしかったですね。実行時のエラーになるってことでしょうか?
今回のケースではバグとりしていて*/の手前でendmacro; させていました。 一度は
実行されてしまうところが、どこに問題があるのかをわかりにくくしていますよね。  
ちなみに私のマクロはニ百行ぐらいのreplaceallfast 命令文だけからなる一風変わ
ったマクロです。

もう一度、素早い reply ありがとうございました。

Rosegardenyk

[ ]
RE:27910 マクロ正常終了後、次のマクロがNo.27913
Iranoan さん 10/04/04 22:30
 
 rosegardenyk さん今日は、Iranoan です。
> */  ← これを記述しわすれていました。
<snip>
> 以前には報告されたことはないのでしょうか?
 おそらく無いと思います。

> "マクロがおかしいです"
> メッセージ、出してほしかったですね。
 そうですね。
 そうでなくても、エラーにならないなら、ファイル終端直前に */ を付けた
場合と同じ動きをして欲しいですね。

[ ]
RE:27913 マクロ正常終了後、次のマクロがNo.27916
秀丸担当 さん 10/04/05 09:29
 

>ちゃんと記述したら、前と同じく、秀丸を落とすことなく何度もマクロの
>実行ができるようになりました。
>試しに、わざと */ 取ったらやってみたら、おなじ問題を再現できました。

試しにそのようにしてみたところ、同じ問題が確認できました。
今まで報告はありませんでしたが、これは明らかにおかしかったです。
詳しいご報告ありがとうございます。
V8.01で修正させていただきます。
あと、/*〜*/の対応が合わないときはエラーを出すようにも修正させていただき
ます。

[ ]
RE:27916 マクロ正常終了後、次のマクロがNo.27981
rosegardenyk さん 10/04/08 17:40
 
秀丸担当殿
>試しにそのようにしてみたところ、同じ問題が確認できました。
>今まで報告はありませんでしたが、これは明らかにおかしかったです。

早速の検証と対応策の提示ありがとうございます。


>V8.01で修正させていただきます。
>あと、/*〜*/の対応が合わないときはエラーを出すようにも修正させていただき
>ます。
素晴らしい!
V8.01での修正を楽しみに強いてます。

Rosegarden

[ ]