VS2008MFC扩展动态库与调用示例
的有关信息介绍如下:使用VS系列IDE开发客户端程序,经常会在不同项目中遇到相同的功能,可以考虑把功能独立出来,做为一个独立的功能模块,如封装成dll动态库。常见的功能模块如:串口通信、网口通信、文件处理、数据库操作、写运行日志等等,封装成MFX扩展动态库是最好的解决方案。
优点:统一接口,优化程序性能,降低模块件的耦合性,提升工作效率。
缺点:能想到的缺点可能是,不断优化/扩充功能,需考虑各版本动态库的维护问题。
1.启动VS2008创建新项目,选择MFC->MFC DLL
输入名称,点击确定。
2.确定后,弹出项目属性向导,点击下一步:选择MFC扩展DLL
3.为项目添加导出类的声明头文件:在解决方案上,右键->添加->新建项 选择头文件
4.编写导出类声明
#ifndefDLL_DEFINE_H
#defineDLL_DEFINE_H
classAFX_CLASS_EXPORTCMfxDll
{
public:
CMfxDll();
voidTestDlg();
private:
};
#endif
5.添加对话框资源:一个简单的求和对话框
功能就是,点击计算按钮,计算操作数1+操作数2的和,并显示到界面上。
6.编写对话框 计算按钮响应函数:
UpdateData(TRUE);
m_nSum=m_nA+m_nB;
UpdateData(FALSE);
7.编写扩展类实现代码:要include包含测试对话框的头文件。
CMfxDll::CMfxDll()
{
}
voidCMfxDll::TestDlg()
{
CDlgTestdlg;
dlg.DoModal();
}
8.编译
编译完成后生成MFC_DLL.lib、MFC_DLL.dll,加上DllDef.h头文件,一共3个有用文件。
1.创建项目,选择MFC基于对话框的项目
2. 将MFC_DLL.lib、MFC_DLL.dll、DllDef.h 3个文件复制到TEST_DLL项目工程目录下
右键项目属性,连接器->输入->附加依赖库: 输入MFC_DLL.lib
添加->添加已有文件, 选择DllDef.h文件,添加到TEST_DLL项目中。
3.验证DLL接口功能:
在TEST_DLL主对话框上,添加一个按钮,双击按钮进入代码编辑
在TEST_DLL CPP文件中,记得#include "DllDef.h"
void CTEST_DLLDlg::OnBnClickedButton1(){CMfxDll dll;dll.TestDlg();}
执行结果如下图: