English help on website



DLL呼び出し機能(Ver9.57対応版)
目次− DLL呼び出し機能
 DLL呼び出しの機能があります。
 使い方は、
loaddll "sample.dll";
if( !result ) {
    message "sample.dllのロードに失敗しました。";
    endmacro;
}
#a = dllfunc( "SampleFunc", 10 );
message str(#a);
freedll;
 のような感じになります。


プロセスに1つだけのDLLを扱う場合
loaddll文
パラメータで指定されたdllをロードします。

freedll文
loaddllしたDLLを解放します。

dllfunc( ... ) 関数
DLLの関数を呼び出します。DLLからは数値型の値が返されます。

dllfuncstr( ... ) 関数
DLL内の関数を呼び出します。DLLからは文字列型の値が返されます。

dllfuncw( ... ) 関数(V8.00以降)
dllfuncのUnicode版です。

dllfuncstrw( ... ) 関数(V8.00以降)
dllfuncstrのUnicode版です。

loaddllfileキーワード
ロードされているDLLのファイル名を表します。

setdlldetachfunc文(V8.66以降)
DLLが解放されるタイミングで呼び出される関数を設定します。

dllfuncexist( s1 ) 関数(V8.75以降)
DLLに関数名が存在するかをチェックします。

keepdll文(V8.98以降)
マクロが終了した後にDLLを解放するかどうかを指定します。


複数のDLLを扱う場合(V8.00以降)
loaddll( s1 ) 関数
パラメータで指定されたdllをロードします。
複数のDLLを同時に扱うことができます。

freedll文
loaddll関数で読み込んだDLLを解放します。

dllfunc( s1, ... ) 関数
DLLの関数を呼び出します。DLLからは数値型の値が返されます。

dllfuncstr( s1, ... ) 関数
DLL内の関数を呼び出します。DLLからは文字列型の値が返されます。

dllfuncw( s1, ... ) 関数
dllfuncのUnicode版です。

dllfuncstrw( s1, ... ) 関数
dllfuncstrのUnicode版です。

getloaddllfile( n1 ) 関数
DLLのファイル名を返します。

setdlldetachfunc文(V8.66以降)
DLLが解放されるタイミングで呼び出される関数を設定します。

dllfuncexist( s1, s2 ) 関数(V8.75以降)
DLLに関数名が存在するかをチェックします。

keepdll文(V8.98以降)
マクロが終了した後にDLLを解放するかどうかを指定します。


DLL側の関数の作り方

DLL側から秀丸エディタの関数呼び出し