You can serialize your data quickly by placing it into a PropertyBag object, then reading the PropertyBags Contents property. This property is really a Byte array that is a serial representation of the data in your PropertyBag object. You can use this byte array for many purposes, including an efficient means of data transmission over 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 = NothingEnd Function
To retrieve the serialized data, simply create a new PropertyBag object and set the serialized string to its Contents property. Convert the string into a byte array before assigning it to the Contents property:
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 = NothingEnd Sub
Mike Kurtz, McKees Rocks, Pa.