マクロから起動できないアプリ?No.10438
こさく さん 24/07/03 09:59
 
お世話になっております。秀丸ユーザのこさくと申します。

マクロ実行で上手く動作しないので皆様のお知恵をお貸し下さい。
マクロの目的は、秀丸エディタ上からマクロ起動だけでIDEを起動(表示)せずにコン
パイルを実行するものです。
説明が長くなりますがお付き合い願います。

これまでは、ルネサスのHEWと言うIDEに付属の「hmake」で問題無く動作していまし
たが今回同じくルネサスですが
「CS+」と言うIDEに変更しました。これには「hmake」に相当するコマンドがなく、
コマンドラインからIDEを表示せずに実行すると言う方式となりました。
そこで「hmake」から「CubeSuite+」に変更して正しくコンパイルできたのでマクロ
で実行するようにしてみました。
すると「実働.mac」は起動して「動作終了」のメッセージは出ますがコンパイルがさ
れませんでした。
「CubeSuite+」が起動していないのは、アウトプット枠にメッセージが何も出ないこ
と、ファイル「err」が空になること、
「動作終了」までの時間が異常に短いことで確認しました。
「コマンドが見つからない」等のメッセージはありません。(Pathの問題では無さそう)
$Optを空にするとhmakeは起動します。
また、コマンドプロンプトで「c_make.bat c」とすれば問題無く動作します。

個々のアプリケーションの問題ということになると難しいとは思いますがどこか見直
すところはあるでしょうか?

当方の環境です。
Windows 10 Pro 22H2 64bit
秀丸エディタ Version9.35 Beta11

以上よろしくお願いします。


------------------------------------------
以下の実働.macを起動するマクロ 起動.mac
execmacro "実働.MAC";
------------------------------------------

------------------------------------------
問題のマクロ 実働.mac
$exe_bat = "c_make.bat";
$Opt = " c";
runex $exe_bat + $Opt,
 1,   // 0:async 1:sync
 0, "", // 0:none 1:auto 2:file 3:(reserve) 4:all 5:select
 7, "", // 0:none 1:auto 2:file 3:add file  4:new 5:insert 6:replace 7:outp
ut枠 8:output枠(追加)
 0, "", // 0:none 1:=out 2:file 3:add file  4:new 5:insert 6:replace 7:outpu
t枠 8:output枠(追加)
 2, $dir,// 0:none 1:current 2:specify 3:(reserve) 4:exe's folder
 1,   // 0:auto 1:show 2:hide
 1,   // 0:draw 1:no draw
 0;   // 0:ansi 2:unicode

if ( !result ) {
 message $exe_bat + $Opt + "\n起動に失敗しました";
} else {
 message $exe_bat + $Opt + "\n動作終了";
}
endmacro;
------------------------------------------


------------------------------------------
実行するバッチファイル c_make.bat
@echo on
if "%1"=="c" (
 CubeSuite+ /bb Debug ..\project_name.mtpj > err
) else (
 hmake makefile.mak > err
)

type err
------------------------------------------

[ ]
RE:10438 マクロから起動できないアプリ?No.10439
こみやんま さん 24/07/03 10:41
 
■$dir

>> 2, $dir,// 0:none 1:current 2:specify 3:(reserve) 4:exe's folder

の 「$dir」に値が代入されていないようですが、
実際のマクロでは代入はあるのでしょうか?

■echoチェック

「c_make.bat」のバッチファイル内に
---------------------------------------------
echo カレントディレクトリ: %cd%
---------------------------------------------
などと記載して、該当の「echoされたフォルダ基準」でc_make.bat を動作させた際
に、%cd%が想定した通りかどうか


■渡した基準フォルダ(上の%cd%値)と相対ファイルの位置関係

最後が、

```
CubeSuite+ /bb Debug ..\project_name.mtpj > err
```

の相対フォルダ指定の部分「..\project_name.mtpj」が正しいファイル位置を指すか
どうか、

パッと見だと、チェックするのはこのくらいに見えますねぇ。

[ ]
RE:10439 マクロから起動できないアプリ?No.10440
こさく さん 24/07/03 11:06
 
こみやんま様
 どうもありがとうございます。こさくです。

お恥ずかしながら、動作しました。
昨夜諦めて帰宅し、今朝は動作前に本フォーラムへの書込を行いまして他の業務をし
ていました。
こみやんま様からの助言に従い■echoチェックを入れて実行したら正常動作しました。
そして、■echoチェックを削除し元に戻しても動作しました。

一体何が起こったのやら見当が付きません。
昨夜からの最大の違いと言えば、PCが再起動されたことくらいしか思い浮かびません。

皆様大変申し訳ありませんでした。お騒がせいたしました。


[ ]