Support Statement: Translation Challenges
This pages is a list of some of the most common technical matters that can cause challenges during an upgrade project. Most of these issues have one or more possible built into the translation process already, but different teams may have other standards or ideas on how they wish to address the issues and their impact varies from project to project.
1. What issues have you seen with a VB6 to .NET migration? Please provide the lowest level of specificity on this.
Variant, Late Binding
Array Conventions – especially unusual base index not 0 or 1.
String Functions
Collections
Code that fails to use Option Strict (undeclared symbols)
Error Handling – do you want to use try-catch instead
VB6 Printing
Archaic File IO
Gosub/Goto
Conditional Compilation
etc.
2. What issues have you seen with a toolset like Sheridan and converting it to a new platform like VB.net native tools?
component conventions -- mask edit, date formats,
FRX data
Event models
etc.
3. What issues have you seen with data access code conversions?
Depends on if you use ADO-look-alike wrapper
Schema data handled differently -- data columns/row array versus fields collection
Navigation behavior
Server-side vs Client-side cursors
Events
Error collections
Connection Properties
Update/BatchUpdate
Behind the SQL scenes commands
etc.
4. What issues have you seen with web service usage conversions?
SOAP
MSXML.HTTP
etc.
5. What UI issues have come about?
Form Lifetime
Form Class as a variable
Control Arrays
Events
DDE
Drag and Drop
MDI Menu Merging
Certain Intrinsic UI controls: data control, file system lists
Style Inheritance
Twips vs Pixels
etc.
6. What is our approach to resolving these issues? Design pattern, tools, etc.
Language Specification
Object Model Specification
Runtime support code -- buy, build, borrow
etc.
7. How can we ensure that our approach will reduce risk and save time?
Analyse the scope of the effort and compare different approaches to delivering that scope.
8. How can we refactor the code to improve upon it?
Migration solution configuration
9. What types of governance and reporting can we do to ensure the code is converted correctly?
Ongoing deliverables
.NET Build
Code review results
Test results
10. What type of testing would we perform to ensure the application is operating effectively?
Side-by-Side Testing
Functional tests
Stress Testing
11. Would we incorporate NUnit tests as part of the conversion?
If desired.