分享

VB调用VC Dll

 速查室 2011-10-27
功能:比较两数大小。
在VC中新建一个Win32 Dynamic-Link Library工程,DLL类型选“A DLL that exports some symbols”。把.cpp文件内容全部改成
#include "XXX.h" 
int  __stdcall Max(int a, int b) 

if(a>=b)return a; 
else 
return b; 

int  __stdcall Min(int a, int b) 

if(a>=b)return b; 
else 
return a; 
}

(XXX为工程名;__stdcall表示在VB中调用DLL的方式 )
在Source Files文件夹下新建XXX.def文件,内容:
LIBRARY XXX
EXPORTS Max
EXPORTS Min
将XXX.h文件内容全部改为:
extern "C" _declspec(dllexport) int __stdcall Max(int a, int b); 
extern "C" _declspec(dllexport) int __stdcall Min(int a, int b); 
然后,compile--rebuild all,在生成的Release文件夹下找到XXX.dll和XXX.lib两个文件,将它们拷贝到你建立的VB工程目录下,在VB的Form_load程序里输入:
Option Explicit
Private Declare Function Max Lib ".../.../.../XXX.dll" (ByVal a As Long, ByVal b As Long) As Long
    Private Sub Form_Load()
    Dim c As Long
    c = Max(7, 8)
    Text1.Text = c
    End Sub
其中,".../.../.../XXX.dll"是包括盘符在内的XXX.dll文件的完整路径。
运行这个VB程序,在text1文本框内显示“8”。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多