VB6 与 .NET 联合

来源:互联网 发布:淘宝客服的重要性 编辑:程序博客网 时间:2024/06/09 20:08

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")> _
    
Public Interface iTest
    
Sub TestMethod()
End Interface

<Runtime.InteropServices.Guid("A3DD9964-E08F-4956-94D7-8DD69A7765DE")> _
    
Public Class Test
    
Implements iTest

    
Public Sub TestMethod() Implements iTest.TestMethod
        
MsgBox("Hello World!")
    
End Sub

End Class

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

2。用VB6创建测试工程

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

Dim cls As ClassLibrary1.iTest
Set cls = New ClassLibrary1.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,直接引用就可以使用啦。

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 农民工工资拖欠怎么办没有合同 公司拖欠员工工资没签合同怎么办 东京去大阪乘大巴行李怎么办? 在外手机没电了怎么办 被公司起诉我该怎么办 支付宝付款刷脸怎么办 考到了差的中学怎么办 中学考高中没考上怎么办 如果考中学没有考上那怎么办 摩托车牌京b牌照怎么办 老公网贷还不了怎么办 丈夫欠下的债妻子怎么办 丈夫偷妻子的钱怎么办 刷信用卡显示不允许降级交易怎么办 每次月经头几天下不来怎么办 邮箱和安全问题都忘记了怎么办 大疆air无人机芯片过热怎么办 脸上反复冒痘痘闭口粉刺怎么办? 手被火烧伤起泡怎么办 手被打火机烧了怎么办 小孩手被火烧了怎么办 手指被火烧伤了怎么办 别人砸坏我家门怎么办 逆水寒经验满了怎么办 tcl魔环显示离线怎么办 城管执法局执法不公平怎么办 人被骗去搞传销怎么办 进了传销想出来怎么办 武汉江夏健康证怎么办 健康证条子掉了怎么办 送外卖的健康证怎么办 美团没有健康证怎么办 健康证不给补办怎么办 南京怎么办健康证去哪里办 浙江横店健康证怎么办 办健康证查乙肝怎么办 餐饮健康证丢了怎么办 办健康证吃了东西怎么办 吃宵夜脸肿了怎么办 晚上不吃宵夜饿了怎么办 办健康证身份证丢了怎么办