Best case VB6 to VB.NET conversion

  • Thread starter Thread starter Kieran Benton
  • Start date Start date
K

Kieran Benton

Hi everyone,
I'm just looking into this for my boss (and myself I suppose). What is the
current state of VB6 to VB.NET converters out there and what are they? I'm
trying to convince our company to convert its primary product over to .NET
but our primary project is pretty huge (many forms, lots of db work, lots of
CR9).

Any suggestions are helpful,
Thanks,
Kieran
 
Kieran,
I only know of two VB6 to VB.NET converters.

The one from http://www.aivosto.com/.

And the one included with VS.NET. Which was written by
http://www.aivosto.com/.

Note: The one included in VS.NET 2003 has move features then the one
included with VS.NET 2002.

There is also a VB6 Code Advisor that will scan your VB6 projects making
suggestions on what to change in preparation to upgrading to VB.NET. This
tool can actually be used without upgrading...

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvb600/html/vb6_fixitruletool.asp

Hope this helps
Jay
 
Hi Kieran,

I'm sorry for the bad news but the upgrade wizard software isn't that
useful. The problem is that Windows Forms Controls and ADO.NET are too
different from ActiveX and Classic ADO. There is also the fact that VB.NET
is fully object oriented while Classic VB isn't. It has been my experience
that you will almost always be better off to rearchitect and redevelop an
application than to try to upgrade it using the wizard.
 
Lol oh well :) I had a feeling someone was going to say that but was holding
out for hope that someone had performed a miracle! Thanks anyway Rob.

Kieran
 
Kieran,
For most VB6 projects that I have seen I agree with Rob. ;-)

However there are a handful of VB6 project, I suspect more than most want to
admit, that can be upgraded!

There is a technique available to restructure code in a disciplined way
known as Refactoring http://www.refactoring.com that allows you to
"rearchitect & redevelop an application" from the code that the upgrade
wizard converted. I've used Refactoring on two rather large VB6 projects
that were upgraded to VB.NET, both projects have hundreds of classes. The
first was a highly procedural (read no classes) VB6 app, the second was
already OOP in VB6. The first still has a lot of vestiges of VB6 as it is
highly monolithic and that code does not need to be converted, while the
second you cannot tell it started its live as a VB6 app, this
transformation, via refactoring, was not done overnight!

How much effort I need with Refactoring is highly dependant on how "clean"
your VB6 code is. By clean I am referring to if you used OOP practices in
your VB6, to the best that VB6 allows.

The VB6 Code Advisor helps with semantical changes from VB6 to VB.NET.

Remember that the upgrade wizard will leave your classic ADO code in place,
it will continue to function. That it will convert most controls that have
..NET equivalents, the others it leaves as OCX, which will continue to
function. What I do is use refactoring to replace these. Maybe not right
away, I may wait a month...

Just a thought
Jay
 
Back
Top