vb.netdll开发 VBNET编程宝典

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

一、带窗体的dll创建

成都创新互联是一家专注于成都做网站、成都网站制作与策划设计,秀屿网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:秀屿等地区。秀屿做网站价格咨询:13518219792

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

在Visual Studio中用VB.Net如何创建自己的动态连接库dll?

新建---类库---把你的函数放在新建的类库中-----生成ClassLibrary1

在net程序中---引用----对应目录下的ClassLibrary1.dll

对应的代码定义如:

Dim

mydll

As

New

ClassLibrary1.Class1

最后就可以用mydll调用你的函数MyFunction了:

mydll

.MyFunction(1,

2)

注意:vb.net编写的DLL不能用

API函数

的方式通过Declare宣告,只能引用的方式使用

vb.net要编写的DLL能被vb6.0引用,需要先在编译属性中选择“为COM

互操作

注册”打勾

然后在Visual

Studio

2008

命令提示中运用RegAsm命令加/tlb命令生成tlb文件

例如:c:\ReleaseRegAsm

ClassLibrary1.dll

/tlb回车就会在当前目录生成ClassLibrary1.tlb文件

vb6.0中引用ClassLibrary1.tlb即可。


名称栏目:vb.netdll开发 VBNET编程宝典
网页URL:http://csdahua.cn/article/hgjhjj.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流