|
秀まるおさん今日は、ひろです。
ちょっと SetMainWndTop の仕様について伺いたい事があります。
loaddll の仕様は、秀丸のヘルプで
> ロードされるのは現在の秀丸についてだけなので、nexthidemaru文等で他
> の秀丸に切り替わった場合は改めてloaddllしなおす必要があります。
とあります。それでは SetMainWndTop を使った場合は、loaddll し直す必
要はないのでしょうか? 今までマクロを組んだ限りでは、loaddll しなくて
も DLL 関数が使えるようですが、これは正しい使用法なのでしょうか?
次に
> freedllしないままマクロを終了すると、ロードしたdllはそのままロード
> されたままになります。
とありますが、
#handle = hidemaruhandle(0);
#n = dllfunc("SetMainWndTop");
closehidemaru #handle;
とした場合や、マクロ内で閉じるのに限らず freedll せずに秀丸を終了さ
せると、呼び出された DLL は、メモリから解放されるのでしょうか? もし
解放されないのなら、
#handle = hidemaruhandle(0);
#main = dllfunc("MainWnd");
freedll;
setactivehidemaru #main;
closehidemaru #handle;
としなければならず、SetMainWndTop 関数はメモリの効率を考えると意味の
ない関数になってしまいます。
この辺りの鶴亀に於ける DLL の呼び出し仕様を押して頂ければ幸いです。
|
|