加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB6 与 .NET 联合

发布时间:2020-12-16 23:33:56 所属栏目:大数据 来源:网络整理
导读:VB6 与 .NET 联合 前言:以前读大一的时候还是蛮喜欢VB6的, 学了C#以后就总是想着如何让VB6和C#的组件可以互相调用,可惜当时没有看到这篇好文章。现在VB6基本上不用了(在公司偶尔还写一下),但还是把这篇文章贴出来,已被以后可能用到。 因为公司之前有

VB6 与 .NET 联合


前言:以前读大一的时候还是蛮喜欢VB6的, 学了C#以后就总是想着如何让VB6和C#的组件可以互相调用,可惜当时没有看到这篇好文章。现在VB6基本上不用了(在公司偶尔还写一下),但还是把这篇文章贴出来,已被以后可能用到。 因为公司之前有个技术问题问我——“如何让.NET的组件在Linux上跑?”。 我真想问:可以吗?至少现在不可以。如果有谁知道可以的话,请发个过来。 后来他们退一步想“让.NET的组件给C调用吧”,可惜我也是实现不了(之前只做过用.NET调用VB6,C,Matlab,E语言...,但反过来却没成功过)。后来看了 Scott Hanselman 的书才发现是可以的,以后有空整理一下再放上来。


如何实现vb6和.net的联合调试

今天看到一个问题:“在VB中调用,如何在VB中调试VB.net 开发的DLL呢?”

http://forums.microsoft.com/china/ShowPost.aspx?PostID=4115159&SiteID=15&mode=1

他的想法就是能够在调试的时候进入到DLL的内部。

下面我就来讲解如何实现的

1。用VB.NET创建类库

<Runtime.InteropServices.Guid("A3DD9964-E08F-4956-94D7-8DD69A7765DD")>_
PublicInterfaceiTest
SubTestMethod()
EndInterface

<Runtime.InteropServices.Guid("A3DD9964-E08F-4956-94D7-8DD69A7765DE")>_
PublicClassTest
ImplementsiTest

PublicSubTestMethod()ImplementsiTest.TestMethod
MsgBox("HelloWorld!")
EndSub

EndClass

编译,记得在项目属性的“编译”选项卡里选中“为 COM Interop 注册”复选框

2。用VB6创建测试工程

引用上面编译好的DLL,编写代码

DimclsAsClassLibrary1.iTest
Setcls=NewClassLibrary1.Test
cls.TestMethod

保存成project1.vbp并退出

3。设置调式信息

打开类库项目属性的“调试”选项卡,设置“启动操作”为“启动外部程序”,指定为VB6.EXE的位置。

设置“启动选项”中“命令行参数”为Project1.vbp,“工作目录”为Project1.vbp所在目录。如图

4。调试DLL

万事俱备。现在我们在MsgBox("Hello World!")打上断点,运行类库。你会发现VB6自动打开了,并且加载了project1.vbp.

执行VB6代码,哈哈,程序已经停在断点处,开始调试吧!


如何在VB6中使用.NET开发的UserControl

在网上搜索关于如何用C#开发Activex控件的文章,基本上好像都是引用的博客园里的一篇。但是那一篇是在IE里使用。但是我试过,如果在VB6中无法引用,提示不能注册为Activex控件。

后来发现Microsoft已经提供了一个工具包“Microsoft Interop Forms Toolkit 2.0”可以很方便地实现这个功能。

安装完成后,新建VB.NET项目时可以看到在“我的模板”下已经多了一个“VB6 Interop UserControl ”。(C#的模板可以到这里下载)

进入新建的项目,你会发现它已经加好了全部需要的文件。你只需要按以前一样的方式做控件就可以了。

编译生成后,,新建VB6项目,引用控件,在弹出窗口已经可以看到刚才写好的UserControl,直接引用就可以使用啦。

无需任何多余的操作,是不是很简单!还有更多功能,你可以看它的帮助和示例。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读