秀丸メールでもhmJSを使いたいNo.00663
suzu さん 22/02/25 01:24
 
お世話になってます。
秀丸公式ライブラリにもあるvscode-lifeさん(こみやんまさん)のhmJSやhmV8を便
利に使わせてもらっています。
これらのツールは、残念なことに秀丸メールでは使用できません。

秀丸エディタ、メール、ファイラで同じようなスクリプトで環境を整理していけたら
便利だと思い、JS系の言語を候補にしているのですが、秀丸メールで動作しないので
踏み込めない状況です。

現在の秀丸メールは秀丸エディタ8.99.2相当ということなので、ver8.73以上を条件
とするhmJSが動作してもおかしくないと思われます。

具体的には下記のようなマクロが、秀丸エディタでは動作するのですが、秀丸メール
では動作しません。
秀丸メールでは、dllの読み込みでも、DoStringの実行でもエラーは検出されないの
で、「読み込み成功」「実行成功」のメッセージは表示されます。
ところが、jscript部分が実行さた様子がなく、定義した変数の値も受け取れません。

どこでだれに相談すべきかも難しい話なので、それも含めてアドバイスを頂けたらと
思います。
よろしくお願いいたします。

$hmjs = macrodir + "\\hmJS.dll";
#JS = loaddll( $hmjs );
if ( ! result ) {
 message "hmJS.dll読み込み失敗: " + $hmjs;
 endmacro;
} else {
 message "hmJS.dll読み込み成功\n" + $hmjs;
}

#res = dllfuncw( #JS, "DoString", R"JS(
 hm.Macro.Var( '$test', 'Hello world' );
 console.log( 'Hello world' );

)JS"
);
freedll(#JS);
if ( #res == 1 ) {
 message "jsスクリプト実行成功" ;
} else {
 message "jsスクリプト実行失敗" ;
}
message "jsから受け取った値: " + $test;

[ ]
RE:00663 秀丸メールでもhmJSを使いたいNo.00664
秀丸担当 さん 22/02/25 16:13
 
こみやんまさんのhmJS,hmV8は、秀丸メールでの動作は想定していなくて使えないと
思います。
具体的には、秀丸エディタのマクロにある「DLL側から秀丸エディタの関数呼び出
し」の、Hidemaru_*の関数群が秀丸メールには無いのでできないはずです。
秀丸メールは複数のエディタウィンドウや、マルチスレッドの関係で、そのままこれ
をサポートするのは一筋縄ではいかないようです。
そういうご意見があるということで参考にさせていただきます。

[ ]
RE:00664 秀丸メールでもhmJSを使いたいNo.00665
suzu さん 22/02/25 22:01
 
「一筋縄ではいかない」とは非常に残念ですが、承知しました。
いつも丁寧な対応ありがとうございます。

[ ]