vb.netdll命名 vbname属性在哪( 二 )


首先 , 我们打开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窗体一、带窗体的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,供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无法被 .NET 程序引用你没加namespace,加一个命名空间
namespace xxx
{
//your code
}
最好用VS工程里的添加引用直接选中这个dll,然后程序里写namespace 就可以访问其中的内容了 。
右键点击你的工程名称,选添加引用,选浏览,找到你的dll , 确定 。
让后在你的代码里上面协商using 你的命名空间 , 就可以放心使用了 。
还可以用System.Reflection Assembly.LoadFrom动态加载一个dll也可以 。
【vb.netdll命名 vbname属性在哪】关于vb.netdll命名和vbname属性在哪的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读