Chapter 11
Resolving Issues with Language
The Basic programming language has been around for a long time in a variety of forms GW-BASIC, QuickBasic, Visual Basic, and Visual Basic for Applications (VBA), to name just a few Microsoft PC-based varieties. Each product provides its own brand of the Basic programming language, supporting or not supporting certain types and language constructs. Each product has also made an attempt to clean up or simplify the language. Microsoft Visual Basic .NET offers yet another version of the Basic language, adding its own types and language constructs and omitting others.
In Visual Basic .NET you will not find Type End Type, GoSub Return, While Wend, nonzero-based arrays, the Currency type, static subroutines, or fixed-length strings. You will, however, find new language elements such as Structure End Structure, Inherits, Overloads, Try Catch, SyncLock, the Char type, the Decimal type, and assignment shortcuts such as += and -= to increment or decrement a value. New statements such as Inherits, Overloads, Try Catch, and SyncLock provide support for new features inheritance, structured exception handling, and multithreading not found in previous versions. Other changes such as the removal of GoSub Return, the change from Type End Type to Structure End Structure, and the addition of the Char type are intended to modernize the language. Still other changes removal of support for nonzero-based arrays and fixed-length strings are the result of trade-offs needed to make Visual Basic .NET work with other .NET languages.
This chapter discusses upgrade issues related to your code. In particular, it focuses on language elements in Visual Basic 6 that the Upgrade Wizard doesn t automatically upgrade (or upgrades only partially) for you.