加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在VB6中克隆对象

发布时间:2020-12-17 00:06:06 所属栏目:大数据 来源:网络整理
导读:我试图自动克隆一个对象,而不必实例化一个新的并手动复制每个变量. 我记得当天(当我每天都做VB6时)我想出了一种使用PropertyBag克隆对象的方法,这非常酷.但是我丢失了代码,不记得怎么做了. 有没有人记得或有另一种方法? 你想要的是 this吗?以下复制文章以
我试图自动克隆一个对象,而不必实例化一个新的并手动复制每个变量.

我记得当天(当我每天都做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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读