不同的结构体如果放到一个数组中,然后循环区出来?
比如有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