首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

不同的结构体如果放到一个数组中,然后循环区出来?该怎么解决

2012-03-29 
不同的结构体如果放到一个数组中,然后循环区出来?比如有2个结构体privatetypeTestAs1asstringendtypepriva

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

热点排行