在解决方案中添加一个类库项目,切换到主程序项目,添加引用,在对话框中选择项目页面,里面就有该类库项目。点击,确定就引用进来了。
创新互联建站始终坚持【策划先行,效果至上】的经营理念,通过多达10年累计超上千家客户的网站建设总结了一套系统有效的营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:成都办公窗帘等企业,备受客户称赞。
使用时就是定义该库中的类了
如这样:
Dim c As New ClassLibrary1.Class1
msgbox c.cc()
第二图中像是声明一个API函数了,既然是类库当然是类了。
至于生存的Dll文件的注册可能要手工进行的吧,用RegSvr32.exe。注册后在引用对话框的Com页面也应该会出现吧,我用vb6编的一些垃圾东西这里也能找到。
一、带窗体的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、运行结果如下:
我的方案是将相关dll的放入vb的资源文件中,生成exe,在exe执行时先将dll释放到exe目录(或path所在目录),这样就只有1个exe就可以了
新建---类库---把你的函数放在新建的类库中-----生成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即可。