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.