Hidemaru_EvalMacro の命令の誤りで、完全No.10390
こみやんま さん 21/05/11 05:44
 
Hidemaru_EvalMacro の命令中に誤りがあった際に、いきなりマクロ全体が終了する
のは、かなり筋が悪いように思われます。
(むしろこのdll実行途中でのEval内容誤記による突然のマクロシャットダウンが原因
で秀丸全体が不安定になりやすいです)

たとえば、Hidemaru_EvalMacro("message 1;");
といった命令がC言語のdll中に存在すると、該当行実行で突然マクロが終了しdllの
実行も該当ステップで停止してしまいます。

Hidemaru_EvalMacroはもともと成否が返ってくるわけですから、
マクロ全体をストップさせるのではなく、Hidemaru_EvalMacro("命令内容")の命令内
容相当の続行をとりやめ、
失敗を意味する返り値を返し、dllは継続続行とかの方が安定するように思えます。

[ ]
RE:10390 Hidemaru_EvalMacro の命令の誤No.10392
秀丸担当 さん 21/05/11 10:07
 

Hidemaru_EvalMacroで、マクロのエラーがあったときは、確かにそれ以降のマクロの
実行はされないようになっています。
Hidemaru_EvalMacroから抜けた後はDLLの関数そのものの実行は継続されて、DLLの関
数を抜けた後、秀丸エディタ本体側のマクロは継続されず終了するようになっていま
す。
エラーになったらHidemaru_EvalMacroの返り値でFALSE(=0)を返したほうがいいの
で、0を返すように修正します。

[ ]