VC6创建MFC规则DLL标准过程

一、创建MFC规则DLL

1.启动VC6利用向导新建MFC规则共享DLL,如项目名:SQLStrBase

2.添加自定义的头文件和源文件,如:SQLStrSet.h和SQLStrSet.cpp

3.输出目录及拷贝头文件路径设置

3.1输出目录设置

Project->Setting...->General选项卡,Output files设置为:D:/Debug,如下图:

 


VC6创建MFC规则DLL标准过程_第1张图片

3.2头文件拷贝路径

Project->Setting...->Post-build step选项卡,添加生成后拷贝事件,如下图:

 


VC6创建MFC规则DLL标准过程_第2张图片

4.头文件中添加如下代码:

/*
* 文件名称:SQLStrSet.h
* 文件标识:
* 摘要:创建数据库表的SQL语句
*
* 当前版本:1.0
* 作者:齐付超
* 完成日期:2009年10月20日
*
* 取代版本:1.0
* 原作者:齐付超
* 完成日期:2009年10月20日
*/

//避免SQLStrSet.h头文件被重复加载
#ifndef __SQLSTRSET_H
#define __SQLSTRSET_H

//添加需包含的头文件

 


//定义宏 OUTEXPORT, 声明将函数在源程序中声明为导出,
//在调用程序中声明为导入
#ifndef __SQLSTRBASE
#define OUTEXPORT  __declspec(dllimport)
#else
#define OUTEXPORT  __declspec(dllexport)
#endif

数据库管理表
extern "C"
{
 //1 数据库管理表
 OUTEXPORT BOOL WINAPI _GetDBManagerStr(CString *sqlstr);
}

/岩芯数据库表创建SQL语句
extern "C"
{

 //1 矿区基本信息表
 OUTEXPORT BOOL WINAPI _GetMineBaseInfoStr(CString *sqlstr);

 ......
}

/照片库表///
extern "C"
{
 //1 照片表
 OUTEXPORT BOOL WINAPI _GetZKSPhotoStr(CString *sqlstr);
}

///数据字典信息表//
extern "C"
{
 //1 数据字典信息表
 OUTEXPORT BOOL WINAPI _GetDataDictStr(CString *sqlstr);
}


//在调用程序中加载生成的 SQLStrBase.lib 文件
#ifndef __SQLSTRBASE
 #pragma comment(lib, "SQLStrBase.lib")
#endif

#endif

 5.添加头文件中预定义宏__SQLSTRBASE,此宏用于标识dll源程序和调用程序包含此头文件中声明的函数的导入导出方式及lib是否加载,起到运行时选择的作用。

Project->Setting...->C/C++选项卡,Preprocessor definitions:添加__SQLSTRBASE宏,如下图:


VC6创建MFC规则DLL标准过程_第3张图片

6.在.cpp文件中添加源码

注意要包含 StdAfx.h头文件,否则会报错。

/*
*版权说明及文件描述见 SQLStrSet.h 头文件
*/

//添加所需头文件
#include "StdAfx.h"
#include "SQLStrSet.h"

岩芯数据库表创建SQL语句实现
//矿区基本信息表
BOOL WINAPI _GetMineBaseInfoStr(CString *sqlstr)
{
 CString tempstr=_T("");
 tempstr="CREATE TABLE MINE_BASEINFO";
 tempstr+="( ";
 tempstr+="MINE_ID int IDENTITY(1,1), ";
 tempstr+="MINE_CODE varchar(20), ";
 tempstr+="EXPL_STAGE varchar(1), ";

......
 tempstr+="PRIMARY KEY(MINE_CODE,EXPL_STAGE)";
 tempstr+=" )";
 *sqlstr=tempstr;

 return TRUE;
}

 7.编译运行在设置的输出目录下即可生成SQLStrBase.dll和SQLStrBase.lib两个文件及拷贝的SQLStrSet.h头文件。

二、DLL的调用

1.启动VC6 另建MFC对话框应用程序项目,如DLLTestApp。

2.设置.exe输出路径(参考DLL输出目录设置过程,并且目录相同),

3.设置include library包含路径

Tools->Options...->Directories选项卡,Show directories for:下分别设置include files 和library files包含目录,包含D:/Debug,使得生成的dll lib .h文件能够搜索到。


VC6创建MFC规则DLL标准过程_第4张图片

4.在对话框对应.cpp下添加dll头文件代码:

#include "SQLStrSet.h"

5.在对话框上添加一Button按钮,添加Click事件响应函数,并调用dll中到处的方法,代码如下:

// TODO: Add your control notification handler code here
 CString tempstr=_T("");
 _GetMineBaseInfoStr(&tempstr);
 AfxMessageBox(tempstr);

6.运行程序显示结果如下图:


VC6创建MFC规则DLL标准过程_第5张图片


 

 

你可能感兴趣的:(MFC)