自定义类型,就是我们常见的 Type 定义的类型。可以帮助我们有效的组织数据,而不需要创建大量的类。
VB6中的 Type 定义的自定义类型,类似于 C 语言中的 typedef
如下图所示,我们的 ABC 就是使用 Type 定义的一个自定义类型。
自定义类型可以标记为Private 或 Public。但要注意,在私有模块中,例如 form 的代码中,我们只能定义 Private 的 Type。如果没有任何修饰符,直接写成这样
则默认是 Public 的 Type。
Type 定义的摆放位置
我们必须将 Type 定义摆放在 Function 和 Sub 之前,否则你的代码中就识别不到 Type 定义的类型,并报错。
Type 的赋值过程
是传值不适传值。如下:
我们可以发现,我们重复使用了k这个变量,但是abcs这个数组中的值,却并非一样的。
根据传址传值的理解,我们可以假设,如果我们进行 abcs(i) = k 的赋值时,进行的是传址操作,则abcs()数组中记录的就是同一个地址,即 k 的地址,那么我们在监视器里面看到的值,也应该是一样的。然而,事实并非如此。所以,我们可以得出结论,这个赋值的操作是传值的形式进行了。
VB6 将自定义类型变量中的每个值都复制了一份给自定义类型的数组中的每个元素。