sgnaw (李逍遥) 2006-12-07
* VC++6 做 DLL 步骤
1.File->New ... 新建一个 Win32 Dynamic-Link Library 的工程
比如名称为 MyDLL , 在向导中选择空的工程。
2. 在 FileView 中对工程点右键,选 Add Files to Project ...
添加 MyDLL.cpp, MyDLL.h, MyDLL.def 三个文件.
3. 源程序内容(MyDLL.cpp, MyDLL.h, MyDLL.def)

/**//* --------------------------
MyDLL.cpp 文件
-------------------------- */
#include <windows.h>
#include "MyDLL.h"

int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)

...{
return TRUE ;
}

__stdcall int CALLBACK MySum(int a,int b)

...{
return a+b;
}


/**//*----------------------
MyDLL.h 文件
----------------------*/
#ifdef __cplusplus

extern "C" ...{
#endif

__stdcall int CALLBACK MySum (int, int) ;

#ifdef __cplusplus
}
#endif

;
; MyDLL.def 文件
;
LIBRARY "MyDLL"
EXPORTS
MySum @1
4.按 F7 编译, 默认会在工程所在目录的 Debug 目录下生成一个 MyDLL.dll 文件
//-------------------------------------------------
在 Visual Basic 6 中调用 MyDLL.dll 的步骤
1.进入 VB6 , 新建一个 Standard EXE
( 可以把此 DLL 文件 copy 到你的 VB 工程目录中 )
2.添加一个按钮, 关双击,在代码窗口添加如下代码:
' 注意,下面的 MyDLL.dll 的位置要修改成你的位置
' 或者把 MyDLL.dll 放在你的 path 环境变量所在的目录
' 比如放在 c:windowssystem32 目录中

Private Declare Function MySum()Function MySum Lib "E:/src/vc6/learn/MyDLL/vb/MyDLL.dll" _
(ByVal S As Integer, ByVal D As Integer) As Integer


Private Sub Command1_Click()Sub Command1_Click()
Dim a As Integer
a = MySum(2, 3) ' 在这里设置一个断点
End Sub
3.运行, 点击按钮, 观察断点运行情况.