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内に「onDestroyScope」という名前の関数を用意しておくと、
dll解放の直前にその関数が実行されます。

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

お行儀よく記述するならば、以下のように「global $Hm;」を付けることを推奨します。
ただし、$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";
}
?>