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);

戻る