资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net调用.dll vbnet web

怎样用VB.NET写和调用DLl窗体

一、带窗体的dll创建

创新互联公司总部坐落于成都市区,致力网站建设服务有成都做网站、成都网站设计、网络营销策划、网页设计、网站维护、公众号搭建、小程序开发、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!

1、先新建 类库(testdll),在项目中添加两个窗体form1(主窗体)、form2,为了与后面的调用区分分别命名为fm1,fm2;并在fm1窗体中添加一个按钮用来调用fm2如下图

2、在fm1窗体代码中先引用fm2,    按钮代码调用fm2.如图

3、生成dll,(class1.vb中不需要写任何代码)

二、调用dll

1、新建 一个windows应用程序并添加一个按钮用来调用dll中的窗体,选 择 “项目”-“添加引用”,选择刚才创建的testdll

2、窗体代码中先引用testdll,再定义一个testdll中的fm1对象,最后执行对象的show方法

3、运行结果如下:

vb.net 调用其他文件 如 dll

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

MsgBox(test.test(1, 2))

End Sub

End Class

运行该程序,可以看到,调用了DLL内的函数。

这就是最简单的DLL示例,可以将一些复杂的代码集成到DLL里,以后升级或重用都比较方便。

vb.net引用Dll的问题

上级目录不可以,但是为了保证程序路径改变,引用不会被破坏。可以有几个方法:

1.将DLL文件放在程序同级目录

2.将DLL文件放在程序子目录

3.将DLL文件放在System32目录下(系统目录,可以直接引用DLL)

4.可以将DLL文件打包成资源文件,融合到EXE程序中,每次执行判断同级目录是否有DLL文件,不存在,释放资源文件。

vb.net调用 c++dll

Private Declare Auto Function funct Lib "xxx.dll" (ByRef address() As Byte) As Integer

"xxx.dll" 你的 dll 文件名称,保证他与你的程序在同一文件夹(或系统文件夹)中。不管是指针还是指向指针的指针,都是指针,数据类型是 int(integer),vb中声明为 integer 总是正确的,至于如何解释这个指针,很多情况下 vb 是无能为力的,你的 dll 还要帮助 vb 解释,所以,设计 dll 时,要考虑使用者的接受能力。

vb.net如何调用dll(动态链接库)

Private Declare function x Lib "dlltest.dll" (ByVal a As long, byval b as long) as long


网页标题:vb.net调用.dll vbnet web
本文URL:http://cdkjz.cn/article/hpojsj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220