Metamorphing Machine I rather be this walking metamorphosis
than having that old formed opinion about everything!

WTF, VB6? Part 7

This is the last WTF, VB6? post.

The previous ones are:
WTF, VB6? Part 1
WTF, VB6? Part 2
WTF, VB6? Part 3
WTF, VB6? Part 4
WTF, VB6? Part 5
WTF, VB6? Part 6

Here are the three remaining (and minor) VB6's WTFckery I know of:
  1. Types - that's what structs are called in VB6 - can have members with names having any VB6's keywords. This is completely legal:

    Type WTF
    Boolean As Boolean
    String As String
    Select As Variant
    Type As Double
    As As Date
    End Type

  2. Select Cases - that's VB6's switch - are not required to have any Case. This is both valid and useless:

    Select Case x
    End Select

  3. There are words that should be reserved and are not. For instance, Property is not a keyword. You can have something like this:

    Public Property Get Property() As Boolean
    End Property

    On the other hand, there are words that should not be reserved.
    One example is Decimal. Even though it is not a proper data type in VB6, it is very much a reserved word. You cannot do this:

    Dim Decimal As Variant
Andrej Biasic