Converting from VB6 to VB.NET

Q: When I try to convert a project from VB6 to VB.NET I get the error message "Freedom Engine COM Server has encountered a problem...". What is the problem?

Visual Studio .NET includes a conversion mechanism to convert VB 6 applications to VB.NET. The conversion engine is part of Visual Studio .NET and is not part of our product.

The conversion engine is apparently unable to convert more advanced property settings (with nested objects). While this is fairly common for anything but trivial controls, the conversion engine fails with a program exception (VBU.EXE, VBSLD.DLL) usually while parsing the form, before it even attempts to load ActiveX control type libraries.

Fortunately, there is a workaround for this problem. Most of our products offer a _FlatProperties property which controls how nested objects are saved.

Before converting your project, edit your project with VB6 and make sure to set the _FlatProperties property to True for EACH of our controls. If you miss one, the conversion will still fail.

Once you have updated all controls, save your project, possibly compile and run to make sure all is well. Then invoke Visual Studio .NET and open your project to be converted. The conversion engine should now work as expected.

After converting the forms to VB.NET, the property _FlatProperties property should again be set to False.

Of course, we have no control over the conversion engine and its performance and you may want to contact Microsoft with any conversion problems that you encounter as our products are not involved in the actual conversion process.