2024年4月23日发(作者:)
一、自己建立DLL文件方法:(MFC)
1、 新建一个工程,选择MFC AppWizard(dll),建立时第二步选择为:Regular DLL using
shared MFC DLL (动态链接库使用共享MFC)。
2、 建立对话框等功能性软件,也就是要完成的程序,比如画图,建立数据源等。
3、 建立导出函数:执行FILE|New 菜单命令,利用New 对话框为工程添加一个C++源文
件,自己命名。参考实例:
#include "stdafx.h" //固定
#include "ODBCLine.h" //头文件,不同dll不同
#include "SODBCline.h" //
extern "C" void _declspec(dllexport)ShODBCline(CString lujing,CString sjname)//导出函数
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()); //固定写法
CSODBCline dlg; //定义对话框类,CSODBCline是已经在2中建立好的对话框类
dlg.m_lujing=lujing; //把外面调用程序变量值传递给dll文件变量使用
dlg.m_name=sjname; //同上
l(); //显示对话框
}
其中ShODBCline(CString lujing,CString sjname)为以后其他程序要调用的软件
4、 编译形成 dll文件,如供其它软件调用
5、 注意要使用全局变量,就在所在cpp程序的头文件(.h文件)中定义,如:
Public:
CString cc1;
CString cc2;
二、其它软件调用DLL文件方法:
自制DLL文件调用实例:
动态库名称:
功能:自动在指定目录下建立指定名字的数据源。
函数形式:
引用实例如下:ShODBCline(CString lj,CString name) 其中lj为数据表所在路径(当前目录
下的),name为形成数据源名称。
在固定位置填写下面这样的代码即可:
#include "iostream.h"
#include "windows.h"
void CDllDlg::OnOK()
{
// TODO: Add extra validation here
typedef void(*lg)(CString,CString);
HINSTANCE hdll; //如果定义成HANDLE类型,则出错
CString cc1,cc2;
hdll=LoadLibrary(""); //调用dll文件
lg dlglg;
if(hdll!=NULL)
{
dlglg=(lg)GetProcAddress(hdll,"ShODBCline");//如果调用DLL文件成功则调用
ShODBCline函数
}
cc1="mydbfs";
cc2="2014锦州VFP数据源";
dlglg(cc1,cc2);
FreeLibrary(hdll);
}
//指定数据表路径
//指定数据源名称
//释放调用的dll文件


发布评论