|
JunkBox_Win_Lib 1.5.3
|
#include "WinTools.h"

Go to the source code of this file.
Classes | |
| class | DLLModule |
| class | DLLModuleTBL |
Namespaces | |
| namespace | jbxwl |
Typedefs | |
| typedef char *(* | FUNC_STRING) (int) |
DLLModule DLLModuleTBL
通常,DLL中の関数の名前,型,引数はアプリケーションによって変化する.
このライブラリは汎用化を目指しているので,これらの情報は直接には扱わない.
そのため,このライブラリを使用してDLLを管理する場合は以下のように行う.
アプリケーション作成者
関数を呼び出し易くするために
DLLModule を継承し,関数を呼び出すためのラッパー関数をメンバとしたクラスを作る.
DLLModuleTBL を継承し,DLLModuleを継承したクラスのラッパー関数に実際の関数ポインタを割り当てる.
具体的には,
new_module() をオーバーロードして DLLModule を継承したクラスを作成できるようにする.
set_module_function() をオーバーロードし,DLLModuleを継承したクラスのラッパー関数に実際の関数ポインタを割り当てる.
DLL作成者に情報取得関数の名前,使用できる関数の数・型を伝える.
DLL作成者.
DLL中に情報所得関数 char* (*FUNC_STRING)(int) を用意する.
char* (*FUNC_STRING)(0) は必ずタイトルを返す.
char* (*FUNC_STRING)(1) 〜 char* (*FUNC_STRING)(fnum-1) は使用できる関数名を返す.
情報所得関数の名前,fnum(関数の数), 関数の型はアプリケーション作成者と予め合意しておく.
Definition in file WinDLLTool.h.