デバッグ用途として以下の関数を利用し、「秀丸デバッグモニター」などに値や文字列を表示することが出来ます。
対象の文字列を、システムデバッガへと文字列を転送します。
「秀丸デバッグモニター」などに値や文字列を確認することが可能です。
秀丸本体のバージョンを数値として取得します。
秀丸 8.7.3.β3 の場合は、873.03、
秀丸 8.7.3.β10 の場合は、873.10、
秀丸 8.7.3 正式版 の場合は、873.99、
といったような値が返ってきます。
#PY = loaddll( hidemarudir + @"\hmPython3.dll" ); #_ = dllfuncw( #PY, "DoString", R"PY( from hmPython import hm hm.debuginfo(hm.version) )PY" ); freedll( #PY );
Python内に「DestroyScope」という名前の関数を用意しておくと、
dll解放の直前にその関数が実行されます。
これは、少し時間が長くかかる処理をPython層で実行している最中に、
突如として「秀丸エディタ」を閉じてしまった、などの際にも呼び出されるという性質を持ちますので、
「この処理だけはクローズしておきたい」といった
「全体の処理のfinally句」的な意味で利用することが出来ます。
#PY = loaddll( hidemarudir + @"\hmPython3.dll" ); #_ = dllfuncw( #PY, "DoString", R"PY( from hmPython import hm def DestroyScope(): hm.debuginfo("dll解放の直前に自動的にこの関数が呼び出される。\n") )PY" ); freedll( #PY );
.mac ファイルにDestoryScope()を直接記述しない場合、
モジュールに__main__へのメソッドを記述するような形になりますので、
以下のような形となるでしょう。