简单dll动态链接库的建立和应用
来源:互联网 发布:淘宝模板智能版 编辑:程序博客网 时间:2024/05/22 15:38
一.建立dll
菜单File --> New -->Other,弹出New Items 窗体,选择New页的DLL Wizard,点击OK.
弹出DLL Wizard窗体,默认选项即可(C++选中,Use VCL选中,Multi Threaded为灰色不可用)
点击OK.
在代码窗体中输入如下内容:
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
//dll函数的外部接口
//int 函数的返回值 zhuanHuan(int) 为函数名和函数的参数
extern "C" __declspec(dllexport) int __stdcall zhuanHuan(int);
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
return 1;
}
//dll函数的实现--把a的值加1,然后返回
int __stdcall zhuanHuan(int a)
{
int b;
b=a+1;
return b;
}
文件保存后,按F9编译即可.编译后,目录下产生一个Project1.dll文件.
二.应用dll
建立一个应用程序,在窗体上1个Button,2个Edit控件.
要实现在Edit1里输入一个数字,点击button按钮,调用dll的函数后,将返回值返回到Edit2控件中.
首先保存项目,之后把上面编译后的Project1.dll拷贝到现在的目录.
双击button1控件,在代码窗体中输入如下代码:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = StrToInt(Edit1->Text);
HINSTANCE ins;
ins = LoadLibrary("Project1.dll");
if (ins==NULL)
{
throw "Can't load library!";
}
else
{
typedef __stdcall(*pZhuanHuan)(int); //定义数据类型
pZhuanHuan zhuanHuan;
zhuanHuan=(pZhuanHuan) GetProcAddress(ins,"zhuanHuan");
if (zhuanHuan==NULL)
{
FreeLibrary(ins);
throw "Can't Load Address!";
}
else
{
Edit2->Text = zhuanHuan(i);
}
}
if (!FreeLibrary(ins))
{
throw "Can't Free!";
}
}
//---------------------------------------------------------------------------
运行即可!
- 简单dll动态链接库的建立和应用
- Delphi中动态链接库(DLL)的建立和使用
- Delphi中动态链接库(DLL)的建立和使用
- Delphi中动态链接库(DLL)的建立和使用
- Delphi中动态链接库(DLL)的建立和使用
- Delphi中动态链接库(DLL)的建立和使用
- Delphi中动态链接库(DLL)的建立和使用
- Delphi中动态链接库(DLL)的建立和使用
- 动态链接库的建立(opencv haar应用方面建立dll遇到的问题)
- 建立动态链接库DLL
- Windows下用Codeblocks建立一个最简单的DLL动态链接库
- 使用VS2010建立一个简单的DLL(动态链接库)实例
- 动态链接库 简单的DLL (转载)
- Delphi 中动态链接库(dll)的建立和使用 (c下的LIB和Dll相似)
- 动态链接库的简单应用
- VC++MFC 简单的DLL加载动态链接库
- 编写DLL(动态链接库)的简单流程
- 四. 一个简单的DLL(非MFC动态链接库)
- 歌词.....我的爱 (范玮琪)
- C#中的Generics
- 小问题,大隐患 ——ASP的对象释放
- 有关VPN连接的15项故障诊断提示
- 爱晶如梦
- 简单dll动态链接库的建立和应用
- CRM的投资回报率可能高达1000%
- CRM应用必知
- CRM应用必知之二:CRM功能“心中有谱”
- 好帖子:)
- VC和数据库工程最为全面的登陆含计算器颜色的设置等
- CRM应用必知之三:CRM软件商“速描”
- CRM应用必知之四:CRM的理念风险
- CRM应用必知之五:BPR与CRM