首先你的class应该是在一个activeX dll中,否则不能有天生的Serialize支持.不过vb换种叫法,成为persistable.
follow me  :)
启动vb新建一个ActiveX dll,工程名称就叫Serialize
将class1改名为clsPersist,在属性设置窗口中将persistable改为1-persistable
class中添加如下代码
Option Explicit
Private Const PROPERTY_COLOR = "Color" 'the if for persist
Private Const DEFAULT_VALUE_COLOR = "white"Private m_strColor As String 'a property names color
Public Property Let Color(ByVal strColor As String)
m_strColor = strColor
End PropertyPublic Property Get Color() As String
Color = m_strColor
End PropertyPrivate Sub Class_Initialize()
m_strColor = DEFAULT_VALUE_COLOR
End SubPrivate Sub Class_ReadProperties(PropBag As PropertyBag)
m_strColor = PropBag.ReadProperty(PROPERTY_COLOR, DEFAULT_VALUE_COLOR)
End SubPrivate Sub Class_WriteProperties(PropBag As PropertyBag)
PropBag.WriteProperty PROPERTY_COLOR, m_strColor, DEFAULT_VALUE_COLOR
End Sub多出了两个持久化用的事件.先存盘:)然后选择文件菜单|添加工程(不是新建) 选择标准exe,这样我们就有一个工程组了.
将exe工程(默认是工程1)设置为启动工程.添加引用Serialize
然后在窗体上添加如下代码
Option Explicit
Private Const TEST = "Test"
Private Sub Form_Click()
Dim oPersist1 As clsPersist
Dim oPersist2 As clsPersist
Dim oPersist3 As clsPersist
'先生成一个对象
Set oPersist1 = New clsPersist
oPersist1.Color = "black"'我们要一个属性包来容纳对象
Dim oProp As New PropertyBag
'将老对象写到属性包中
oProp.WriteProperty TEST, oPersist1'从属性包中提前老对象,并且生成一个新的对象
Set oPersist2 = oProp.ReadProperty(TEST)'测试一下
Debug.Print oPersist2.Color'属性包的内容可以赋值给一个byte数组
Dim btArray() As Byte
'象下面这句,存到byte数组中后,你可以存成文件,
'放在注册表中,或者发送到另一台计算机:)
btArray = oProp.Contents'下面演示如果从byte数组中生成一个对象
Dim oProp2 As New PropertyBag
oProp2.Contents = btArray
Set oPersist3 = oProp2.ReadProperty(TEST)'测试一下
Debug.Print oPersist3.Color
End Sub