VB如何调用dll函数

VB如何调用dll函数,第1张

1在工程-引用中将asdfgdll引用过来2dim AAA as asdfg 'asdfg是类模块的名称Private Sub Form_Load()dim xSet AAA = New asdfgx = AAAzxc(参数1,参数2)'参数1,2自己写End Sub建议你了解一下下面dll的制作方法,理解就更透彻了。下面内容来自百度。1新建一个ActiveX Dll,工程名字为vbmytestdll,类模块名字为mytestdll2类模块内容只有一个函数,主要返回DLL的HELLO WORLDPublic Function dlltest1() As Stringdlltest1 = "HELLO WORLD"End Function3保存,生成DLL,名字为vbmytestdlldll4新建一个EXE工程,在菜单: 工程---引用---浏览里找到vbmytestdlldll,把它引用进来5EXE工程代码如下:Option ExplicitDim testdll As mytestdll'类模块名字Private Sub Form_Load()Set testdll = New mytestdll 'DLL的一个新实例MeCaption = testdlldlltest1 '我的标题=返回DLL的HELLO WORLDEnd SubOK,编译成EXE即可看到效果

那要看这个是什么类型的dll了,如果是ActiveX DLL,你可以用工程菜单里的引用把它导入进来使用。

如果是VC++写的标准DLL,你必须实现知道它的调用接口声明格式。

声明是前面加上Declare语句才行。给你个调用dll的例子吧

Declare Function mixerGetNumDevs Lib "winmmdll" Alias "mixerGetNumDevs" () As Long

这是一个返回配置代号的dll,如果有参数的话,你还得知道()里的参数值和类型。

声明后,这个dll使用起来很简单

Dim n As Long

n = mixerGetNumDevs

Msgbox n

1对ActiveX

DLL,如果该DLL由本地VB/VC生成就可直接在新的VB工程中引用,拷来的就需要先注册该DLL(记得是regsrv:)。

引用方法:

点击“工程”-〉“引用”找到后打勾就可在程序中直接调用其函数了。

2其它非ActiveX

DLL,如WINDOWS

API函数,只要用Declare声明一下就可用了。

1 Function Myyfzc(secID:integer;water: PChar):integer; 注册

2 Function MyCValue (secID:integer;water: PChar):integer; 充值

secID 指卡片扇区号(1到15) water指水量单位为吨 不要大于’99’吨

3 Function Myread (secID:integer): Pchar; 读水量

4 Function MyNew (secID:integer): integer;

secID 指卡片扇区号(1到15)

说实话,我怕你看不懂,但是下面说的是最简单的了~没办法啊

制作好DLL之后,就可以用VB调用它,实现VB调用C程序。VB程序要使用DLL中的函数,首先必须要有特殊的声明,用Declare声明语句在窗体级或模块级或全局模块的代码声明段进行声明,将动态链接库中的函数声明到VB中,供VB程序调用。

语句格式为:Declare Sub 过程名Lib [ Alias " 别名]([ByVal 参数AS类型]),或为Declare Function函数名Lib [Alias " 别名]([ByVal 参数AS类型])AS类型在声明中首先用Declare关键字表示声明DLL中的函数。在C语言中有的函数类型为VOID,它表示不具有返回值,则必须用关键字Sub将其声明成过程。有的函数具有返回值,则必须用关键字Function将其声明成函数,并且在声明语句的最后要用AS关键字指明函数返回值的类型。

例如上面的ADDDLL在VB中就可以声明为:

Declare Function ADD Lib c:\ADDdll―ByVal X AS Integer, ByVal Y AS Integer ,ByVal filein as

string)AS Integer

通过此声明语句将函数ADD声明到VB中,便可直接调用。

以上就是关于VB如何调用dll函数全部的内容,包括:VB如何调用dll函数、VB如何调用DLL、VB如何调用动态链接库(DLL)文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9486755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存