秀丸マクロで、 HSP でコンパイルするマクロを作ろうとしたところ、 DLL の呼び出しに失敗した・・・ということでしたが。コマンドラインコンパイラを使うことにしました。以下のページで公開されているものです。
保存しないといけないので、保存しないままちょっと作ってちょっと実行してみたりができない。これはちょっとどうかと思うので変更したい。 HSP は特に即興で書くことが多いですしね。
保存しなくても実行できるように DLL を作りました。(秀丸で HSP のスクリプトをコンパイルする hspcmp のラッパーDLL作った ( Fuji Diablog ))
// HSP コンパイル 秀丸マクロ
$compilerPath = "C:\\Program Files\\hsp30\\chspcomp.exe"; // HSPのコマンドラインコンパイラのパス
$scriptPath = filename; // スクリプトファイルパス
$cmdOpt = "/wid"; // コマンドラインオプション
save; // 上書き保存
run "\"" + $compilerPath + "\" " + $cmdOpt + " \"" + $scriptPath + "\"";
endmacro;
コマンドラインを指定して実行するだけの超簡単マクロとなりました。
HSP 標準のスクリプトエディタでは、上書き保存ではなく現在編集中のスクリプトを「hsptmp」というファイル名で別に保存して、それを使っているわけですが。(ただし、 hsc_refname で本当のファイル名を指定)今回はただ上書き保存して、それをコンパイルするようにしました。
また、この「 cHspComp 」は面白く、スクリプトの先頭に次のように書くと。
;! hoge
この「hoge」が起動オプション(実行するHSP のプログラムへ送るコマンドライン)になるんです。なかなか面白い機能ですね。