Today ArtinSoft launched the Visual Basic Upgrade Companion 3.0 both for our Enterprise and Developer Editions. This latest release of the best (I am biased!) Visual Basic migration tool in the world is focused on reducing the total effort of a migration project. Together with the conversion tool release we also revamped its companion technical site http://www.vbtonet.com/ . This site, which will be continuously updated in the following weeks, is the perfect side help to any person that needs to complete a migration project. It contains everything from a getting started guide to how-to articles with advanced migration topics.
At ArtinSoft we are truly proud of this release and we continue to be fully committed to support our customers in their transition from VB 6 to Visual Basic .NET or C#.
Specifically, here are the latest additions to the VBUC 3.0. Click here to get a trial of this exciting product.
VBUC 3.0 New Features
Source Code Conversion Features
- Windows API and 'Declare' Support
VBUC 3.0 introduces support for external DLL function declarations and invocations. A vast research was performed to identify the correct way of declaring and passing parameters and return types for primitives, classes, enums, structs, fixed lenght strings, arrays and combinations of these types.
- Increased Support for Windows Common Controls Conversion
VBUC 3.0 introduces a substantial amount of improvements for the conversion of Windows Common Controls to native .NET controls. An extensive effort was performed to identify and resolve issues related to these components which are present in most VB6 applications. The main improvements are related (but not limited) to the following controls: ImageList, ListView, StatusBar, Toolbar, TreeView.
- Public Class Instantiation Models Support
Public classes in ActiveX EXE/DLL projects may have different instantiation models (multiuse, singleuse, etc.) To achieve the same behavior in .NET a whole conversion solution was implemented and incorporated into VBUC 3.0.
- Default Property Resolution Through Helper
The VBUC contains a new helper class designed to resolve several late binding issues that are not solved by the typing mechanism. This solution significantly reduces compile errors and EWIs while providing higher functional equivalence.
This solution resolves the EWIs related to late-binding and default property issues which represent around 50% of known issues from older versions.
- Data Access Conversion Improvements
The data access conversion to ADO.NET with System.Data.Common has been a very popular feature from the previous VBUC versions. VBUC 3.0 introduces several improvements to this feature. It includes enhancements to the helper classes functionality as well as additional members coverage (clone, sort, getrows and many others)
- IsMissing Support
VBUC 3.0 introduces support for the IsMissing function. Since VS.NET doesn't include the concept of missing parameters, VBUC now generates a code pattern that produces the same behavior by taking advantage of nullable types and overloading.
- NotUpgradedHelper for Not-Upgraded Statements and Members Handling
A very common problem with older versions of VBUC was the handling of NotUpgraded members and statements. They were usually generating compile or runtime errors that made the post-VBUC manual work more difficult.
VBUC 3.0 introduces a helper class to report and handle the usages of not supported elements while avoiding compile and runtime errors.
- Multiple improvements to existing features
Around 450 individual improvements were implemented for VBUC 3.0. Most of them are related to providing increased automation and enhance the resulting code quality, others are related to other areas such as robustness and graphical interface.
Performance Improvements
- Speed Boosting
For VBUC 3.0 several time performance improvements were implemented to achieve a substantial improvement, reducing to 50% the required time to perform an upgrade process. Additional time improvements could be experienced when converting large projects which used large amounts of memory.
- Reduced Memory Requirements
Memory usage was also significantly improved. Based on tests over medium projects we estimate around a 30% improvement. It is estimated that more significant improvements will be experienced with bigger projects.
Assessment
- Assessment Tool Integration
The VBUC Assessment Tool functionality has been incorporated into the VBUC. Users can now execute the assessment process from the VBUC main window. One important advantage of this approach is that users can solve migration warnings before executing the assessment process, allowing the obtention of better quality information.
- Additional Assessment Reports
Two additional reports have been included into the integrated assessment process:
- An advanced dependency analysis that shows internal-dependency trees per project.
- A shared and potential-duplicate files report. It includes the following sub reports:
- A shared files report indicating which projects include each shared file.
- A potential-duplicate files report indicating which projects include each presumed duplicate file.
- A projects list sorted topologically with LOC counts for each project where shared and potential-duplicate files are counted only in the first project they occur.
Other Features
- Graphical Interface Status Information
The VBUC 3.0 graphical user interface shows detailed information for each project. It shows sizes, progress and status by project and by source file detail.
It helps the user to understand the volume of work required for each project and its current upgrade progress as well as to identify any eventual pieces of code that may have not been fully converted.
- EWIs and Upgrade Report Improvements
Several modification have been implemented to the upgrade messages generated by VBUC into the generated code.
- UpgradeReport Synchronization: for previous versions of VBUC the UpgradeReport didn't show properly all the EWIs generated into the upgraded code. For VBUC 3.0 this report includes all the EWIs generated in the converted code plus the global EWIs that are not included into the target source code.
In addition, the accumulated counts per section where also improved to show the correct amount of occurrences.
- Links to Online Documentation: Hiperlinks are added for each EWI to its corresponding online documentation in the new www.vbtonet.com site.
- Restructuring: The EWI message structure was modified to show the numeric code first. Also some messages where improved and some EWIs were removed or merged.
- Increased Robustness and Logging
Several actions were taken to handle and recover from unexpected situations. In the event that any exceptional situation may arise, an window is displayed explaining the issue and providing the user with options to generate debugging information that can be sent to ArtinSoft support for diagnosis and recommendations.
Products, Versions and License Types Formalization
- Developer and Enterprise Editions
The second version of VBUC Developer Edition is released with VBUC 3.0. The development process has been formalized to syncronize the maintenance and releases of both versions. The Developer Edition includes an improved activation and licensing model as well as an easier on-line sale mechanism.
- Trial Licenses
Both Developer and Enterprise editions support trial licenses. Developer trials are now available for download in the Artinsoft web site.
- ASP Upgrade Engine Integration
The ASP Upgrade Engine has been integrated into the VBUC 3.0. It is now installed together with VBUC. The license file can still restrict the use of ASP upgrade abilities though.