新規ダイナミックライブラリの画面が表示されるので、次のように選択します。
ソースの種類「C++」
マルチスレッド「チェックしない」
VC++スタイルのDLL「チェックしない」
「OK」ボタンを押します。
以上で、プロジェクトが作成されます。
DLLがエクスポートする関数には、「extern "C"」「WINAPI」「__declspec(dllexport)」」をつけます。
extern "C" int WINAPI __declspec(dllexport) Add(int X, int Y)
{
return X + Y;
}
「extern "C"」はC++の関数をC言語と同じリンケージを使用し、名前が変わることを防ぎます。
ソースの種類が「C」の場合は必要ありません。
「__declspec(dllexport)」」は、DLLから関数をエクスポートするキーワードです。
全体のソースコードは次のようになります。
#include <windows.h>
extern "C" int WINAPI __declspec(dllexport) Add(int X, int Y)
{
return X + Y;
}
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
Borland C++Builder 6実用プログラミング―オブジェクトとその再利用の方法
C++BuilderによるDLL、VCLパッケージ、COM/ActiveXの利用方法が解説されています。
DLLの利用方法についても、Variant配列やSafeArrayを受け渡しする方法やBDEデータベースハンドルを共有する方法など、非常に専門的な内容を取り扱っています。