将VB6项目分解成块以使用免费版本的Artinsoft

本文关键字:免费 免费版 版本 Artinsoft 项目 VB6 分解 | 更新日期: 2023-09-27 18:15:10

我正在尝试将一个大型(200K行)VB6项目转换为c#。我只想转换表单设计,因为我想用c#重写所有实际代码。

我想使用免费的Artinsoft转换器,但这只允许10K行的项目。我想我可以把VB6项目分成20个单独的项目,然后生成c#。. NET表单,然后把转换后的表单放到一个c#项目中。

这可行吗?

编辑:这能行吗?潜在的问题是什么?

将VB6项目分解成块以使用免费版本的Artinsoft

我将按以下顺序尝试

1)至少为主要业务操作编写自动化测试用例

这将为您以后验证结果节省很多麻烦。

2)重构你的VB(试着把你的业务逻辑移到单独的类/dll中)。

3)您可以使用在步骤1中编写的自动化测试用例来验证您的重构。

4)现在你有了小块,这也会帮助你创建块,然后你可以使用artsoft。

5)你的c#应用程序将会很好地分层。

6)在新应用程序和旧应用程序上运行步骤1中创建的测试,比较结果并不断改进,除非它们匹配:)

我建议不要在UI中使用转换器。这可能看起来微不足道,但有些特性根本不存在于。net中(大型控件没有包装器的控制数组)。而且它创建的控件包装器使用和维护都不有趣。

VB6不能很好地移植;UI和代码。如果你继续沿着这条路走下去,这里有一些东西可以帮助你。

  1. 删除所有未使用的表单和代码
  2. 确保没有控制阵列,如果有,纠正相关代码
  3. 将所有逻辑包装在类中
  4. 确保你没有直接调用/加载/引用表单,你正在使用实例化的对象
  5. 确保使用良好的封装实践和良好的面向对象设计模式

我会认真考虑转换。转换代码/UI听起来很棒,但在我使用VB6转换的糟糕经历中,有很多问题,因为VB6允许开发人员变得多么糟糕,而且根本不存在的功能。

帮你自己一个大忙……启动一个新项目,创建一个继承自所使用的标准控件的自定义控件库,并在任何地方使用这些控件。不喜欢剪贴文本在c#和VB6中屏蔽文本框上的工作方式?扩展它或覆盖它。希望所有列表视图都是可排序的?简单的单点实现。在一年内发现公司想要对90%的文本框进行拼写检查?容易。