Last night we released version 0.95. It doesn't add any new feature, yet it is an important milestones because this version has reached the zero-known-bug stage for the parser & code generation engine. We are quickly fixing all the known problems in the support library and are getting closer to the official 1.0 release.Smile



The new parser & code generator is truly as sophisticated as it can possibly be. Here's a little example of what version 0.95 is able to do.

Consider the following statements:

    Dim tw As New TextboxWrapper
    tw.FieldBox = Form1.Text1      ' where FieldBox is defined in TextboxWrapper.cls as a property that takes and returns a TextBox control

According to standard VB6 rules, the lack of the SET keyword should imply that you are assigning the default Text property of Form1.Text1 to the default Text property of the control referenced by the FieldBox property. As a matter of fact, the Upgrade Wizard that comes with Visual Studio (as well as previous versions of VB Migration Partner) translate the above assignment as follows:

    tw.FieldBox.Text = Form1.Text1.Text

However, one of our beta testers discovered the following undocumented VB6 behavior: if the FieldBox is (mistakenly) defined by means of a Property Let procedure (instead of Property Set), then VB6 performs an object reference assignment even if the SET keyword has been omitted. Never head of it previously! However, we want to promote VB Migration Partner as a "It just works!" code migrator, therefore we decided to emit VB.NET code that perfectly mimics the original VB6 behavior:

    tw.FieldBox = Form1.Text1    ' in VB.NET this is an object assignment

I am not mentioning this feature because I think it will be of interested to many VB Migration Partner users, but only to emphasize that our code translator is easily the most sophisticated you can find anywhere...

Together with version 0.95 we are releasing a new code sample, named Cool ProgressBar. It's a custom control written in VB6 which, as its name implies, implements a better, eye-catching progress bar, with gradient colors and other intriguing features. It's a nontrivial piece of code that uses a lot of Windows API and GDI programming, yet it took us just a few minutes (and 4 pragmas) to migrate it correctly to VB.NET. Even if you don't care about VB Migration Partner, you can download the code sample to see how those features were implemented and - if you wish - use this new control in your .NET apps.