1.环境
VS2010
win7 sp1 x64
小插曲,第一次用VB的可以看看下面链接和C差不多。迫于工程需要,我也是第一次用。
主要用法。
- 定义变量 Dim a as String // 定义一个名为 a 的 String 变量。 与java语言中String a ; 意思一样
- 定义函数 function(有返回值) Sub(无返回值)
- Sub 过程
Sub 过程是包含在 Sub 语句和 End Sub 语句中的一系列 Visual Basic 语句。每次调用过程时都执行过程中的语句,从 Sub 语句后的第一个可执行语句开始,到遇到的第一个 End Sub、Exit Sub 或 Return 语句结束。
Private function funname(ByVal strTemp as string, ) as integer`
dim tStr as string
tStr=UCase(strTemp)
funname=tStr 'return value
End function
'一个示例程序
Module Module1
Sub Main()
Dim d As Integer
d = test(99, 2)
MsgBox("a+b =: " & Str(d), 0, "Script Message Box")
End Sub
Public Function test(ByVal a As Integer, ByVal b As Integer) 'diy
Dim c As Integer
c = a + b
test = c
End Function
End Module
Private Sub funname()
End Sub
2.dll编译
- VS2010 新建工程 test -其他语言-VB-类库
需要注意的就是类名和函数名,随便写个函数如下图所示。
工程名为 test
类名为Class1 函数名为 dlltestmsg (String)
后面用的到。
直接编译生成得到dll文件
Public Class Class1
Public Function dlltestmsg() As String
dlltestmsg = "HELLO WORLD, ——公众号: 一匹大懒虫"
End Function
End Class
3.dll调用
我只Console实现的,窗口程序一样。
3.1. 首先新建工程 usetestdll
双击 My Project – 点击引用 — 添加 ----找到编译生成的dll(test.dll)–确定。
3.2. 对象浏览器
各个教程可能会提到这个对象浏览器。VS2010也有这样的功能
点击 视图----对象浏览器 就可以了调出来
默认快捷键是 Ctrl+Alt+J
可以翻看下 引用的 test.dll
3.3. 调用
代码为
Module Module1
Sub Main()
'声明DLL
Dim mytest As test.Class1
mytest = New test.Class1
Dim a As String
a = mytest.dlltestmsg
MsgBox(a, 0, "Script Message Box")
End Sub
End Module
解释:
- 声明dll时,mytest可以为任意字符。
格式为 Dim [名] As [命名空间].[类名]
跟对象浏览器中的结构一样 - 然后新建实例 new test.Class1
- 然后可以进行调用function了
命名空间一般情况下和dll的名称是一样的,但是也不完全正确,总而言之,命名空间可以用对象浏览器查看,点开第二级,对应NameSpace
运行结果如下图所示
成功!