日本語プログラミング言語「なでしこ」-関数コールバック plugin
概要
・プログラム言語「なでしこ」にて、Win32API等のCALLBACKにて利用可能な関数へのポインタを作成します。
導入
1.本ページより、Pluginの入った圧縮ファイルをダウンロードする。
2.圧縮ファイル内にあるplugin_callback.dllのファイルを、なでしこをインストールしたフォルダのの下にあるpluginsフォルダに入れます。
使い方
・関数ポインタの作成に引数は4つ必要です。
●コールバック生成(関数名,呼び出しタイプ,戻り値の型,引数の型のリスト)
すべての引数は文字列です。呼び出してほしい関数も、関数名を文字列で指定してください。
呼び出しタイプは、「stdcall」「cdecl」「pascal」のいずれかを指定してください。なお、WindowsのAPIの標準は「stdcall」です。
戻り値の型は、「byte」「dword」「int」「double」等のCの型名を指定してください。「handle」「hwnd」「lpvoid」等も指定可能です。
※サポートしていない型名は「int」として扱われます。
引数の型のリストは、戻り値の型の説明にある型名を、引数の数分、「,」で並べて下さい。
例えば、EnumWindowsのコールバックに使用するポインタを生成する場合、以下になります。
関数ポインタ=コールバック生成("MyEnumProc","stdcall","int","HWND,LPVOID")
・不要になった関数ポインタ(の内部情報の領域)を解放できます。
●コールバック解放(関数ポインタ)
引数の関数ポインタには、コールバック生成だ返された値を指定します。
よほど多く生成と破棄を繰り返すのではない限り、作りっぱなしで問題ありません。
また、生成を破棄を繰り返した場合でも、メモリは減ります(1回生成ごとに64bytesほど、再利用されず、プログラム終了まで占有されます。ただし、64KBytesずつ確保するため、約1000回ごとにメモリが減ることになります)
※プログラムが終了する際には、関数ポインタとして確保した部分も解放されます。それ以前に関数ポインタが呼び出されないようにしておいてください(タイマーのコールバックならば、タイマーの停止や破棄をしておく等)
ダウンロード
本プラグインについては、利用・配布などは、本体のpluginと同じ扱いとします。基本的に、自由な利用が可能です。
関連リンク
日本語プログラミング言語「なでしこ」でなにかへ戻る