如何让VB6.0升级到VB.NET的过程变得更简单?

本文讲述了在将VB6.0项目迁移到VB.NET过程中遇到的Printer对象转换问题。尽管.NET提供了VisualBasic.PowerPacks.Redist解决方案,但在实际使用时出现了打印异常。最终作者通过PrintDocument组件实现了类似功能。其他VB6.0组件的转换通常只需添加对应引用。了解VB6.0控件在VB.NET中的支持情况,可参考MSDN文档。
摘要由CSDN通过智能技术生成
我以前都是用C#来写,这次搞这个VB.NET项目,有点突然。还好语言都是相通的。
1.虽说以前的Microsoft Visual Basic和.NET都是微软自己的东西,可有很多功能的实现方式还不一样,特别是那些控件。
2.每个程序都会有自己的业务逻辑,有些可能会很复杂,甚至读别人的代码时你可能对业务逻辑那部分会完全一头雾水。

开始也打算在.NET环境下重做,可在做了一些尝试后发现根本没法了解那个VB6.0程序的业务逻辑,以致于从VB6.0转换到.NET下后,那些老的graph控件没法工作。和项目经理做了很多研究后,还是决定先让Microsoft Visual Studio替我们先把VB6.0项目转换生成一个VB.NET项目,然后在这基础上改。事实证明,这种做法很明智,因为相比在.NET环境下重做会少写很多代码,而且你几乎不用去管那个项目的业务逻辑。废话少说,下面介绍升级过程。

1.在机子上安装Microsoft Visual Basic,我用的是Microsoft Visual Basic 6.0中文企业版。作用有两个:(1)确保以前的VB项目能正常工作.(2)方便以后能回到这个老项目中进行一些调试。
2.打开你的Microsoft Visual Studio,接着执行File-Open-Project/Solution,在弹出的对话框找到将被转换的.vbp工程文件,选中并打开它。此时会弹出Visual Basic Upgrade Wizard。在这个过程你需要指定被转换过来的项目的位置以及项目类型。因为我这个是桌面程序,所以我选择了.exe类型。参数准备完后,IDE会需要比较长的时间来完成升级过程。
3.转换完成后,你会发现IDE提示了很多代码的错误。其实很多VB6.0里面的老控件都已经被Visual Studio转换过来了,或者Visual Studio里已经以其它相似的名字内置了对VB6.0老控件的支持。
有一点VB6.0里的DBGrid控件会被转化成.NET下的AxMSDBGrid.AxDBGrid类型的控件,这种控件在VB6.0里需要Data控件作为数据源。.NET已完全抛弃了Data控件,不再提供对它的直接支持,而选用了性能更高的ADO.NET组件。开始我们本打算原封不动的用转换过来的控件,后来发现这个AXDBGrid控件的DataSource属性必须要是一个ICursor,而当今现存的数据源控件除了Data控件都无法提供这个ICursor接口属性,但这个Data控件在.NET中是无法使用的。
最后不得已选用了.NET下标准的数据显示控件DataGridView,并用以下代码模拟出Data控件。
ContractedBlock.gif ExpandedBlockStart.gif Code
1  Public Solar As DAO.Recordset
2 ModelData = DAODBEngine_definst.Workspaces(0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值