We have just released VB Migration Partner v. 1.22. In addition to fixing a few minor problems with several controls - including the PictureBox, CommonDialog, and ListBox controls - this new releases further improves the VB6Variant class (which now behaves closer and closer to the original VB6 Variant type) and the support for DBCS character sets (Japanese users take note).

The portion of the translation engine has been improved and omit to generates many unnecessary warnings. More specifically, all previous versions of VB Migration Partner emit the 0354 warning when assigning a Variant or Object variable to a scalar variable, as in this example:

   Dim source As Object
   Dim
dest As Integer
   ' some statements here

   ' ...

   ' UPGRADE_WARNING #0354: Unable to read default member of symbol 'source'. Consider using the GetDefaultMember6 helper method."
   dest = source

Starting with version 1.22, if source is a Variant variable, VB Migration Partner uses a more sophisticated algorithm and checks whether the variable is ever the target of an assignment by means of a Set keyword. If it isn't the case, then VB Migration Partner omits the 0354 warning, because the source variable can only contain a scalar value and the GetDefaultMember6 helper method is never necessary. This smart behavior dramatically decreases the number of generated warnings that you have to carefully check to ensure that the VB.NET version behaves like the original VB6 code. In a medium-sized migration project, this feature alone can save you one or two days of review work.

As usual, registered users will be alerted that a new version is available the next time they fire up VB Migration Partner.