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文件