If you're one of the many who have VB6 code, you have three basic options:
stay with VB6, convert to .NET, or rewrite from scratch. In this article, we
will look at converting VB6 code to VB.NET and C#. I'll discuss when it makes
sense to convert versus staying with VB6 or rewriting from scratch. I will
cover what converts well and what does not, different ways to do the
conversion, how to get code ready to convert, and handling issues after the
conversion.
Executive Overview
First, let's get an executive-level overview of where VB6 and VB.NET are at
in their life cycles. Note that when I mention VB.NET in this article, I mean
all three versions (2002, 2003, 2005). When I talk about a specific version,
I will specify the version (such as VB.NET 2002). With the advances in VB.NET
2003, as well as its compatibility with VB.NET 2002, there is little reason
to migrate ... (more)
Graphics and GUI (System.Drawing, System.Windows.Forms [SWF]) continue to be
a couple of the most worked-on areas in both Mono and Portable.NET. Other
areas under heavy development include cryptography, Web services, coverage
and build tools for Mono, dependency charts for Portable.NET, and lots of bug
fixes for both.
Mono and Portable.NET Do GUI Differently
In a project the size of .NET, choices often need to be made between options
of nearly equal technical merit. Having more than one project (Portable.NET
and Mono) can allow more than one choice to be made. The GUI code
(Syst... (more)
Völcker Informatik AG has switched from Microsoft to Mono.
Völcker was traditionally a Microsoft shop using VB and C++ to built its
enterprise-level user management and authentication products. But when the
city of Munich, one of its largest clients, decided to switch to Linux,
Völcker needed technologies that would work in a cross-platform environment.
It felt it had two options - Java or Mono; it decided to recode everything in
C# using Mono.
In nine months it recoded seven million lines of VB and C++ code into two
million lines of C# that run on both Windows and Linux. Even fo... (more)
Mono 1.1.16, the third beta of version 1.2, has been released. The time span
between the release of versions 1.1.15 and 1.1.16 is one of the longest in
several years and the number of changes included reflects that, again
System.Windows.Forms (SWF) and System.Drawing got the most attention.
The biggest difference is that SWF now supports threading; multiple threads
can now create their own forms and controls, and have their own message
processing loops. Repaint logic has also been changed to improve performance
and match the Microsoft implementation. In the past, Mono sent paint m... (more)
When the first draft of the C# 2.0 spec was released, the Mono team started
working on it immediately. The first draft of the C# 3.0 spec has now been
out for almost a year, but the Mono team has just started to work on it.
There are two reasons for this: one is that the whole team was working on the
major 1.2 release, including Winforms. The second reason is that the first
draft of the C# 3.0 spec was released shortly after the official release of
C# 2.0, and the Mono team was still busy fixing bugs, cleaning up code, and
integrating last-minute changes to the C# 2.0 spec. Becau... (more)