There are several types of issues we want to identify and report to the users:

    Issue Type Description
    Design Error Design-time properties that can’t be migrated (eg: Form1.LinkTopic.)  For these items, we add an entry to the migration log, one entry per property per object.  We only add an entry if the value of the property is different than the default value.   For example, if Form1.LinkTopic has a value of Form1 (the default,) then no entry is created.  The property is not carried forward in the code.
    Compile Error

    Code that will cause a compile error in .NET (eg: Form1.LinkTopic = “Foo”.)  For these items, we copy the original code forward, add an entry to the migration log, and insert an UPGRADE_ISSUE: comment into the code on the line before the error.


    Code which needs some user intervention.  For these, insert an UPGRADE_TODO: comment in the code and add an entry to the migration log.


    Code that has been significantly altered, or objects that have some behavior differences with their VB6 equivalents.  For these items, insert an UPGRADE_NOTE: comment into the code on the line before the change, but do not add an entry to the log file.

    Global Error

    User canceled, out of memory, etc.  These create one entry in the migration log.

    Global Warning

    Global issues (eg: Lack of deterministic lifetime.)  These create one entry in the migration log.


    The following are some of the most common issues generated by our Visual Basic Upgrade Companion.


    Code  Description
    1002 LSet cannot assign one type to another
    1010 The preceding line couldn't be parsed
    1014 %1 statement is not supported
    1016 Declaring a parameter 'As Any' is not supported
    1039 Load statement is not supported
    1040 %1 function is not supported
    1043 Class instancing was changed to public
    1046 %1 Parameter '%2' is not supported, and was removed
    1050 Structure %1 may require marshalling attributes to be passed as an argument in this Declare statement
    2029 Unload %1 was not upgraded
    2036 property . does not support custom mousepointers
    2038 Form property %1.ScaleMode is not supported
    2042 A string cannot be used to index the %1 control collection
    2050 %1 Event %2.%3 was not upgraded.
    2059 %1 property %2.NewIndex was not upgraded.
    2064 %1 %2 %3.%4 was not upgraded.
    2068 %1 %2 was not upgraded.
    2069 property . was not upgraded.
    2070 Constant %1 was not upgraded.
    2072 %1 %2 could not be resolved because it was within the generic namespace %3.
    2074 property . was upgraded to . which has a new behavior
    6003 %1 %2 was not upgraded.
    6012 CommonDialog variable was not upgraded
    7003 The Hdc should be released once it is used for safety

    Download VBUC Free Trial
    Download VBUC Now

    It's time to eradicate VB6
    ROI of eradicating VB6

    8 Proven Tips for
    Planning a Successful Migration

    8 Tips for migration