JunkBox_Win_Lib 1.5.3
Loading...
Searching...
No Matches
WinDLLTool.h File Reference
#include "WinTools.h"
Include dependency graph for WinDLLTool.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DLLModule
 
class  DLLModuleTBL
 

Namespaces

namespace  jbxwl
 

Typedefs

typedef char *(* FUNC_STRING) (int)
 

Detailed Description

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.