详谈VB自定义类型参数的传递
本文向大家介绍VB自定义类型参数的传递,可能好多人还不了解VB自定义类型参数,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
VB自定义类型参数的传递
用户自定义类型在VB中是一种重要的数据类型,它为编程者提供了很大的灵活性,使开发人员可以根据需要构造自己的数据结构。它相当于C/C++中的结构类型(structure)。在VB中,允许程序员以传址的方式将自定义数据类型参数传入动态库,DLL过程也可以将修改后的参数返回VB程序。但是,在VB中仍然不支持以传值的方式传递VB自定义类型参数。
传递VB自定义类型参数时,必须确保VB中的数据类型的成员与动态库中的结构成员是一一对应的,所占空间也必须严格一致。这里所说的一一对应,不仅是指VB 中的所有结构成员在动态库的结构中都必须有对应的元素,而且它们在数据结构中定义的顺序也必须严格一致,这是VB中使用的"数据结构成员对齐方式"决定的。在VB 中,数据结构使用双字对齐方式(4-byte alignment),因此,在用户自己生成用于VB调用的动态连接库时,也必须把编译选项"structure member alignment" 设为4字节(如前文所述)。
所谓结构成员对齐方式是指一个数据结构内部,其成员的排列方式。譬如,在VB中,其对齐方式是4字节,这就好象在一个数据结构内部分成了很多个4字节大小的小单元,如果相邻两个或多个数据成员的大小可以放在一个单元中,那么就放在一起;否则这些小单元中可能 会出现未用的空字节。我们来看下面一个数据类型:
Type TestType m1 as Integer m2 as Byte m3 as Long End Type
相关推荐
goawalk 2020-10-29
wordmhg 2020-06-26
Haopython 2020-05-09
吴小伟 2020-05-09
huakai 2020-05-10
spartmap 2020-04-20
qscool 2020-01-30
christinzhm 2013-06-03
wq0 2019-12-26
xuanwenchao 2019-11-29
rareli 2019-11-21
zhuxianfeng 2011-03-28
fkuevip 2011-03-09
linuxunix 2011-01-27
mojianbin 2011-07-23
plcjianghao 2011-06-17
Rafema 2011-05-22
zhjn0 2011-05-03