hmPeachが持つ特別な関数一覧

秀丸本体のバージョン

秀丸本体のバージョンを数値として取得します。

  • $Hm->getVersion()

    秀丸 8.7.3.β3 の場合は、873.03、
    秀丸 8.7.3.β10 の場合は、873.10、
    秀丸 8.7.3 正式版 の場合は、873.99、
    といったような値が返ってきます。

    <?php
    echo $Hm->getVersion();
    ?>
    

onDestroyScope関数

PHP内に「DestroyScope」という名前の関数を用意しておくと、
dll解放の直前にその関数が実行されます。

これは、freedllの時だけではなく、突如として「秀丸エディタ」を閉じてしまった、
などの際にも呼び出されるという性質を持ちますので、
「この処理だけはクローズしておきたい」といった
「全体の処理のfinally句」的な意味で利用することが出来ます。

$Hm は「グローバル変数」ですので、関数内やメソッド内で使う際には、
「global $Hm;」が必要となります、失念しやすいため忘れないようにしましょう。

mytest.mac
#PHP = loaddll( hidemarudir + @"\php\hmPeach.dll" );
#_ = dllfuncw( #PHP, "DoFile", currentmacrodirectory +@"\mytest.php" );
freedll(#PHP);
mytest.php
<?php
function onDestroyScope() {
    global $Hm;
    echo "freedllされたか秀丸のプロセスが終了したかのどちらかです。\n";
    echo "秀丸エディタのバージョンは... {$Hm->getVersion()} でした。\n";
}
?>