2011-11-20 45 views
-2

我想将大型(200K行)VB6项目转换为C#。我只想转换表单设计,因为我想用C#重写所有实际的代码。打破VB6项目成块使用免费版本的Artinsoft

我想使用免费的Artinsoft转换器,但这只允许10K行的项目。我想我可以将VB6项目分解为20个独立的项目,然后使用Artinsoft生成C#.NET表单,然后将转换后的表单重新导入到一个C#项目中。

这可行吗?

编辑:这会工作吗?潜在的问题是什么?

+0

定义“可行”。什么会使你不可行?这个问题是主观的。 – Amy

+2

所以,你基本上是问我们如何/如果你能击败这个计划的许可计划?您如何看待有人问我们如何为您的程序做同样的事情? –

+0

@AndrewBarber:这不像我正在使用该程序来满负荷运行。我只是想转换表单设计。如果我从.frm文件中删除所有代码,这几乎不会达到10000行。也许我应该这样做...... – CJ7

回答

1

我会尝试按照以下顺序

1)写自动测试用例至少为主要业务运营

这会为你节省很多的麻烦以后验证结果。

2)重构你的VB(尝试在单独的类/ DLL中移出你的业务逻辑)。

3),你可以使用写入在步骤1中

4)自动化测试案例验证您重新分解现在你有一小块一小块,这也将帮助您创建的块,那么你可以使用Artinsoft。

5)您的新C#应用程序将很好地分层。

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

1

我建议不要使用转换器的用户界面。它可能看起来微不足道,但有些功能本身并不存在于.NET中(控制数组没有大包装的包装)。它创建的控件包装器使用和维护都不好玩。

VB6端口不好;用户界面或代码。如果你要继续走下去,有些事情可以提供帮助。

  1. 删除所有未使用的形式和代码
  2. 确保没有控件数组,如果有,正确的相关代码
  3. 得到所有逻辑包裹类
  4. 确保您不会调用/加载/引用形式直接和您正在使用的实例化对象
  5. 确保良好的封装实践在使用和良好的面向对象设计模式

我会认真重新考虑转换。转换后的代码/用户界面听起来不错,但是在我对VB6转换的不良体验中,存在很多问题,这是因为VB6允许开发人员变得多么糟糕,以及那些根本不存在的功能。

做你自己一个大忙......开始一个新项目,创建一个自定义控件库,它继承了你使用的标准控件,并且随处使用它们。不喜欢Cliptext在C#和VB6中的掩码文本框中的工作方式?扩展它或覆盖它。希望所有的列表视图都可以排序吗?简单,单点实施。在一年中发现企业需要对90%的文本框进行拼写检查?简单。