读书人

不同的结构体如果放到一个数组中然后

发布时间: 2012-03-29 12:53:12 作者: rapoo

不同的结构体如果放到一个数组中,然后循环区出来?
比如有2个结构体
private type TestA
s1 as string
end type

private type TestB
s2 as string
end type

dim a as TestA
dim b as TestB
然后怎么定义一个数组后把a,b放到数组中去
再for循环拿出来,并打印里面的s1和s2内容?

我碰到了报错信息“只有定义在公共对象模块中用户定义类型能和变体类型...”

这是我的一个作业,要求必须使用结构体,还不能用类。

谢谢指教!

[解决办法]
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32 " Alias "RtlMoveMemory " _
(Destination As Any, Source As Any, ByVal Length As Long)
Private Type TestA
s1 As String
End Type

Private Type TestB
s2 As String
End Type

Dim a As TestA
Dim b As TestB

Dim c(1) As Long

Private Sub Command1_Click()
Dim i As Long
Dim s As String
For i = 0 To UBound(c)
CopyMemory ByVal VarPtr(s), ByVal c(i), 4
MsgBox s
Next

End Sub

Private Sub Form_Load()
a.s1 = "hello "
b.s2 = "test "
c(0) = VarPtr(a)
c(1) = VarPtr(b)
End Sub

读书人网 >VB

热点推荐