一般VB.NET调用DLL可以通过Declare 语句在模块级用于声明对动态链接库 (DLL) 中的外部过程的引用.
Private Declare Sub
myFunc1 Lib "mylib.dll"
(ByVal strName As String)
以下为VB.NET调用DLL代码示例:
DllImport("kcomm.dll", CharSetCharSet:
=CharSet.Ansi, SetlastError:=True)
Private Shared Function gettxt(ByVal
port As Integer, ByVal wait As
Integer, ByVal _date As Long,
ByVal _time As Long, ByVal
filename As String) As Integer
End Function
根据实际情况更改你的DLL名称、函数名、参数名和类型.
VB.NET调用DLL的只是COM组件,无法作为输出函数的DLL,其实这只是个错误的说法.其实MS非常狡猾,如果你是个VB疯狂发烧友的话,应该早就狂试出这种可以创建输出函数的DLL的方法.
Sub Main
If MsgBox("哈哈",
vbOKCancel) = vbOK Then
Command$
End If
End Sub
然后我创建了一个ActiveX DLL工程,在这个工程里面添加一个Module并创建一个Public函数mathadd:
Public Function mathadd
(ByVal a As Long, ByVal
b As Long) As Long
mathadd = a + b
"e:\\vbdll\\Module1.obj"
"e:\\vbdll\\Project1.obj"
"E:\\Program Files\\Microsoft
/ENTRY:__vbaS /EXPORT:mathadd /OUT:
"e:\\vbdll\\ProjectOK.dll"
/BASE:0x11000000 /SUBSYSTEM:
注意里面的/ENTRY和/EXPORT开关,/EXPORT开关声明了输出函数mathadd.这样就大功告成了,可以被其他语言引入,例如在VB中,只需要:
Private Declare Function mathadd
Lib "e:\\vbdll\\ProjectOK.dll"
(ByVal a As Long, ByVal b As
Long) As Long
上级目录不可以,但是为了保证程序路径改变,引用不会被破坏.可以有几个方法:
①将DLL文件放在程序同级目录
如果是托管的Dll或则com组件类,直接在项目上添加这个DLL的引用
如果是非托管的,已API函数方式调用的DLL,使用DllImport方式申明DLL函数
不过一般这种情况是吧IP地址等配置信息写在配置文件里面,若XML,INI,应用程序配置文件等方式
配置文件用户可以直接打开查看,连接字符串写在那里,数据库就不安全了.
DLL(动态链接库)是一个很有用的东西,在开发大项目的时候显得非常重要,因为多人合作开发时,可以给每个人分配一个任务,用DLL完成,最后组合起来,就不会出现互相冲突的问题.这里给出最简单的DLL编写与调用的示例
首先,我们打开VB.NET,选择类库,名称改为test
然后输入以下代码
Public?Class?test
Public?Function?test(ByVal?a?As?Long,?ByVal?b?As?Long)?As?Long
Return?a?+?b
End?Function
End?Class
保存后,生成DLL文件.
这就是最简单的一个DLL,下面是调用该DLL的示例
新建一个工程,单击"项目" -- 添加引用
找到刚才生成的DLL,双击它
添加引用以后,似乎什么也没发生,这时我们输入以下代码:
Imports test.test
这样,就包含了该DLL的类.
然后我们定义一个类
Dim test As New test.test
这样,就可以使用里面的函数了,下面是程序示例
Imports?test.test
Public?Class?Form1
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Dim?test?As?New?test.test
End?Sub
运行该程序,可以看到,调用了DLL内的函数.
这就是最简单的DLL示例,可以将一些复杂的代码集成到DLL里,以后升级或重用都比较方便.
以上就是土嘎嘎小编为大家整理的vb.netdll申明的简单介绍vb.netdll申明的简单介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!