VB 编译和调用动态链接库dll

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 asstring,  )asinteger`
	dim tStr asstring  
	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

VB基础教程

2.dll编译

  1. 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

解释:

  1. 声明dll时,mytest可以为任意字符。
    格式为 Dim [名] As [命名空间].[类名]
    跟对象浏览器中的结构一样
  2. 然后新建实例 new test.Class1
  3. 然后可以进行调用function了

命名空间一般情况下和dll的名称是一样的,但是也不完全正确,总而言之,命名空间可以用对象浏览器查看,点开第二级,对应NameSpace
运行结果如下图所示

在这里插入图片描述

成功!

猜你喜欢

转载自blog.csdn.net/CoomCon/article/details/105084227
VB
今日推荐