[ 新規に投稿する ]

秀丸メールでも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 [ コメントを投稿する ]
  「一筋縄ではいかない」とは非常に残念ですが、承知しました。
いつも丁寧な対応ありがとうございます。
[ ]

[ 新規に投稿する ]