如何在VB6中克隆对象

前端之家收集整理的这篇文章主要介绍了如何在VB6中克隆对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图自动克隆一个对象,而不必实例化一个新的并手动复制每个变量.

我记得当天(当我每天都做VB6时)我想出了一种使用PropertyBag克隆对象的方法,这非常酷.但是我丢失了代码,不记得怎么做了.

有没有人记得或有另一种方法

你想要的是 this吗?以下复制文章以供后代使用.

使用PropertyBag序列化数据

您可以通过将数据放入PropertyBag对象,然后读取PropertyBags Contents属性快速序列化数据.此属性实际上是一个Byte数组,它是PropertyBag对象中数据的序列表示形式.您可以将此字节数组用于多种用途,包括通过DCOM进行数据传输的有效方法

Private Function PackData() As String
    Dim pbTemp  As PropertyBag

    'Create a new PropertyBag object
    Set pbTemp = New PropertyBag
    With pbTemp
        'Add your data to the PB giving each item a 
        'unique string key
        Call .WriteProperty("FirstName","John")
        Call .WriteProperty("MiddleInitial","J")
        Call .WriteProperty("LastName","Doe")

        'Place the serialized data into a string 
        'variable.
        Let PackData = .Contents
    End With

    Set pbTemp = Nothing
End Function

要检索序列化数据,只需创建一个新的PropertyBag对象并将序列化字符串设置为其Contents属性.将字符串转换为字节数组,然后将其分配给Contents属性

Private Sub UnPackData(sData As String)
    Dim pbTemp  As PropertyBag
    Dim arData()    As Byte

    'Convert the string representation of the data to 
    'a Byte array
    Let arData() = sData

    'Create a new PropertyBag object
    Set pbTemp = New PropertyBag
    With pbTemp
        'Load the PropertyBag with data
        Let .Contents = arData()

        'Retrieve your data using the unique key
        Let m_sFirstName = .ReadProperty("FirstName")
        Let m_sMiddleInitial = _
            .ReadProperty("MiddleInitial")
        Let m_sLastName = .ReadProperty("LastName")
    End With

    Set pbTemp = Nothing
      End Sub

Mike Kurtz,McKees Rocks,Pa.

猜你在找的VB相关文章