资讯

精准传达 • 有效沟通

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

vb.net生成dll vbnet dll接口编写

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

一、带窗体的dll创建

成都创新互联公司主营廊坊网站建设的网络公司,主营网站建设方案,重庆APP开发,廊坊h5小程序定制开发搭建,廊坊网站营销推广欢迎廊坊等地区企业咨询

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,供vb6调用时dll中的函数不可见?

在您的代码中,您已经成功使用了RegAsm命令将DLL注册为COM组件,并在VB6中成功引用了该组件的类型库文件(TLB文件)。此外,您还在VB6代码中声明了一个YCImageDo类型的对象,并成功创建了该对象。

但是,当您尝试使用YCImageDo对象的属性和方法时,却发现这些成员不可见。这可能是因为在编写DLL代码时您没有正确地声明这些成员的可见性。

在VB.NET中,您可以使用"Public"关键字来声明一个类型的成员(属性、方法、过程等)对外可见,而使用"Private"关键字则声明该成员仅在类型内可见。如果您希望YCImageDo类型的成员在VB6代码中可见,则应将这些成员声明为Public类型。

例如,如果您希望YCImageDo类型拥有一个名为"GetImage"的方法,则可以在DLL代码中按如下方式声明该方法:

Public Function GetImage() As String

' 在这里编写方法的代码

End Function

同样,如果您希望YCImageDo类型拥有一个名为"ImagePath"的属性,则可以在DLL代码中按如下方式声明该属性:

Public Property ImagePath As String

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写了个Windows窗体运用程序,现在想把它变成DLL文件,可行吗?怎么做?

DLL不能装应用的。。里面只能写一些函数,或者做一些钩子,不过你倒是可以把窗体生成函数写到动态链接库里


分享文章:vb.net生成dll vbnet dll接口编写
文章起源:http://cdkjz.cn/article/doeohii.html
多年建站经验

多一份参考,总有益处

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

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

大客户专线   成都:13518219792   座机:028-86922220