|
LoadDll, DllFunc, FreeDll関数(TKInfo.dll)(Ver6.14対応版)
秀丸マクロのloaddllでは1つのDLLしかロードできないため、複数のDLLを使い分けたい場合は、その都度loaddllしなおさないといけないです。LoadDll/DllFunc/FreeDll関数は、tkinfo.dllから他の任意のDLLを複数ロードして、それらの関数を呼び出すことを可能にします。
- LoadDll関数
-
LoadDll関数は、パラメータで指定されたDLLをロードして、それのモジュールハンドルを返します。ロードに失敗すると0を返します。
- DllFunc関数
-
DllFunc関数は、パラメータ1でモジュールハンドルを指定して、パラメータ2で関数名を指定すると、その関数を呼び出します。パラメータ3以降はそのままその関数に渡されます。
DllFunc関数の返り値は文字列型でも数値型でもどっちでも解釈できます。
- FreeDll関数
-
FreeDll関数は、パラメータ1でモジュールハンドルを指定すると、そのDLLをFreeLibraryします。成功すると1を返します。
例 |
loaddll "tkinfo.dll";
#dll = dllfunc("LoadDll", "hmjre.dll");
if( #dll == 0 ) {
message "dllがロードできませんでした。";
endmacro;
}
#n = dllfunc("DllFunc", #dll, "FindRegular", "xyz", "abcxyz", 0 );
#n = dllfunc("FreeDll", #dll);
message str(#n);
|
|