「hmJavaVM」と「秀丸・デバッグ出力モニター」

  • 概要

    hmJavaVMでのエラーを知るにはどうするのか、が掲載されています。

    秀丸エディタ・デバッグ出力モニター

    秀丸マクロのエラーは「ダイアログ」で表示されますが、
    「hmJavaVM」については、根本的なよほどの深刻なエラー以外はダイアログでは表示しません。
    (あえて出していません)

    hmJavaVMでは、エラーは「秀丸・デバッグ出力モニター」に表示されます。

    意図的に、秀丸エディタ・デバッグ出力モニターに出す場合

    まずは、ベースとなる秀丸マクロファイルを作成します。
    マクロファイルからは、「static void ***(String args[])形式のメソッドを呼び出すことができます。
    String配列に何か値を渡すことが出来るわけではありませんが、
    main関数と形式を合わせておいた方が、何かと融通が利きやすいため、このようになっています。

    MyFirstTest.mac
    #JVM = loaddll( hidemarudir + @"\hmJavaVM.dll");
     
    #_ = dllfuncw( #JVM, "CallMethod", "MyTest", "main");
     
    freedll( #JVM );
    

    Java側では、普段通りJavaファイルを作成してください。
    Javaをコンパイルし、「.class」形式が出来上がったら、「MyFirstTest.mac」と同じフォルダに入れておきましょう。 「.class」形式は、「.jar」形式にしてもかまいません。

    秀丸専用の関数群は「hmJavaVM.jar」内のクラスに定義されていますので、

    又、下のソースを見てもわかるように、Javaからデバッグ出力モニターへと文字列を出す、「Hm.debugInfo」関数というのを特別に追加しています。

    MyTest.java
    import hidemaru.*;
    
    public class MyTest {
     
        public static void main(String[] args)  {
            Hm.debugInfo("Java側からデバッグモニターへ");
        }
     
    }
    
    
    コンソールコマンドでjavac
            javac MyTest.java -cp C:\usr\hidemaru\hmJavaVM.jar
    

    といった具合にClassPathの指定が必要となります。

    「C:\usr\hidemaru\hmJavaVM.jar」については、実際に該当の.jarがある場所を指し示してください。
    (※Eclipseなど、統合環境を利用すれば、このような手順は不要となります。)