vb.net调用vb,VBNet
vb.net调用vb6.0组件
可以的。
长阳网站建设公司成都创新互联,长阳网站设计制作,有大型网站制作公司丰富经验。已为长阳数千家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的长阳做网站的公司定做!
VB6所产生的DLL全都都是标准COM组件,只需要注册一下就可以引用了。
vb.net调用VB6编写的DLL问题
应该没有问题,我用 vb6+vb.net2008/2010都没有问题,并且用 vb.net编写的 DLL也可以让vb6调用,可以到微软网站上下载相关的文件;调用的时候要注意数据类型在 vb.net中已经和 vb6中有了区别了,比如在 vb6中 Long;在vb.net中应该是 int32
如何正确理解VB.NET函数调用
1. Shared Function System.Runtime.
InteropServices.DLLimport("user32.dll")
2. MessageBoxA(ByVal hwnd As Integer,
ByVal text As String, ByVal
lpcaption As String, ByVal
wtype As Integer) As Integer
3. End Function
首先integer被作为32位数据替代了long(long是64位)
System是Net语言中的一个族,System.Runtime.InteropServices是system中的一个类。System.Runtime.InteropServices.DLLimpor是其中的一个方法。调用DLL的API
接口,这个的意思就是vb6的lib"user32", share是共享的意思,例如:
1. Public Class classA
2. Shared Function System.Runtime.
InteropServices.DLLimport("user32.dll")
MessageBoxA(ByVal h As Integer,
ByVal m As String, ByVal c As
String, ByVal type As Integer) As Integer
3. End Function
4. End Class
你可以这样调用 classA.MessageboxA 但是如果没有这个share 在class后打点就没有MessageboxA的成员出现了 ,现在你就象以前一样的使用他吧。
其实上面这个VB.NET函数调用方法并不正确,我们仍旧要使用API声明,只是换了一各形式
如果你认为这就是VB.NET就错了,看看这个:
system.WinForms.MessageBox.Show("对话内容写在这里", "标题写在这里", messagebox.OK BitOr messagebox.IconAsterisk)
这就是面向对象,你已经完成了所有的任务。不需要任何的API声明。不需要写多余的代码。
1. messagebox.IconAsterisk=惊叹号图标
2. messagebox.IconError=错误图标
3. messagebox.IconExclamation=警告图标
4. messagebox.IconHand=错误图标
5. messagebox.IconInformation=提示图标
所经点NET就是打点到达,在族后面打点,在类后面打点,在对象后面打点。第二个问题就是类与类之间相互的关系,Net在网上处理人与人的关系,在程序语言中处理类与类的关系。倒底是加不加share,倒底是类后面打点,还是Dim成一个对象(把他当一个变量吧)再说,是等于class,还是New class.是dim xxx as class=new class 还是dim xxx as new class
就是这样VB.NET函数调用将更简单,不须要研究一些很难的东西。
本文标题:vb.net调用vb,VBNet
链接地址:http://scyanting.com/article/dseggoe.html