c++ builder(BCB)中DLL的创建与调用

1、DLL创建

 

File->New->Other,选择C++ builder->Dynamic Library,选择C++,Visual ComponentLibrary。

2、DLL的代码输写

主头文件,声明和定义导出结构体,声明导出类。导出类前加extern "C"修饰,类中的函数前不再需要加extern "C"。

主CPP文件,如未声明导出类,直接写导出函数定义,导出函数需用 extern "C" 声明,加  __declspec(dllexport) 修饰,函数名前加__stdcall修饰表示Windows API默认调用方式。

如下:

extern "C" __declspec(dllexport) HRESULT __stdcall CreateEmployeeInfo(int nID,char *pName,char *pPhone);

 主CPP文件中如果需要调用其实单元的CPP文件,需要引入该单元的头文件。

总结:

DLL文件编写‘:创建DLL,在头文件中声明导出类,编写导出函数,也可以直接编写导出函数,在调用的时候创建调用类。

3、DLL调用 

1.在头文件中私有蛮量中声明调用DLL的指针蛮量:HINSTANCE hdll;

2.在CPP文件中声明指向DLL中函数的指针,格式与函数声明一样

HRESULT __stdcall (*CreateEmployeeInfo)(int nSerial,char *pName,char *pPhone);

3.在窗体默认函数中调用DLL,用LoadLibrary 加载DLL,用GetProAddress获取函数

hdll = NULL;

    (FARPROC&)CreateEmployeeInfo = GetProcAddress(hdll, "CreateEmployeeInfo");
    (FARPROC&)UpdateEmployeeInfo = GetProcAddress(hdll, "UpdateEmployeeInfo");
    (FARPROC&)DeleteEmployeeInfo = GetProcAddress(hdll, "DeleteEmployeeInfo");

4.在事件中正常调用函数。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值