Most BASIC programmers are familiar with User Defined Types (or
UDTs). A UDT is just a collection of properties (or members) of
varying types. For example, the following is a UDT with 2 members
(in this case they're both of the same type): TYPE TName
first AS STRING*35
last AS STRING*35
END TYPE
An EXTENDed type is bit more complicated, since an EXTENDed
type can hold properties, methods, and events. The storage mechanism
differs from that of a UDT, so even though this looks okay: TYPE TName2 EXTENDS QOBJECT
first AS STRING*35
last AS STRING*35
END TYPE
DIM Name1 AS TName '-- From previous example
DIM Name2 AS TName2
Name1 = Name2
This is not allowed since Name2 is an EXTENDed type and
so the assignment is not compatible. Chapter 10 goes through the
many features of using EXTENDed types.