静的なロードはプロセスの生成時にDLLを読み込み、終了時に解放します。
DLLの読み込みに失敗すると、プロセスの生成に失敗します。
静的なロードでDLLを読み込むには、次の2つの作業を行います。
以上で、プロセスの起動時にDLLが読み込まれ、関数が使用できるようになります。
基本的なDLLの使用方法 DLLを作るで作成したDLLを使用する方法を解説します。
DLLのプロジェクトをコンパイルすると、libファイルが作成されます。
作成されたlibファイルをプロジェクトに追加します。
使用する関数の定義を宣言します。
#include <windows.h>
extern "C" int WINAPI Add(int X, int Y);
後はふつうに関数を使用するだけです。
全体のソースコードは次のようになります。
#pragma hdrstop
#include <tchar.h>
#include <iostream>
#include <windows.h>
extern "C" int WINAPI __declspec(dllexport) Add(int X, int Y);
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
std::cout << Add(1, 2) << std::endl;
return 0;
}
Borland C++Builder 6実用プログラミング―オブジェクトとその再利用の方法
C++BuilderによるDLL、VCLパッケージ、COM/ActiveXの利用方法が解説されています。
DLLの利用方法についても、Variant配列やSafeArrayを受け渡しする方法やBDEデータベースハンドルを共有する方法など、非常に専門的な内容を取り扱っています。