Exempel: Menar du innehållet som variabelvärden i objektet ?? Litet exempel av en clon metod som du kan använda dig av. Du är tvungen att anpassa den till ditt projekt. Om du har klassen i en ActiveX dll eller exe så kan du använda "Persistable" möjligheten för klassen. Tackar för tipsen, det löste sig utmärkt med en clone function.Kopiera innehållet i ett objekt
    
    
Dim objTest(2) as new clsTest
'Gör saker med ena instansen
objTest(0). add blabla
Nu vill jag kopiera innehållet i objTest(0) till objTest(1).
Hur gör jag det utan att objTest(1) refererar till SAMMA objekt.
Set objTest(1) = objTest(0) ....går alltså inte
Någon som hajar vad jag menar?
/JensaSv: Kopiera innehållet i ett objekt
    
    
Isåfall kan du kopiera dem genom
att använda propertie let och propertie get
nyttObj.variabel=gammaltObjekt.variabel
Public Property Get variabel() As String
    variabel = lagradVariabel
End PropertySv: Kopiera innehållet i ett objekt
    
    
Class Modul: Person
-----------------------------------
Option Explicit
Private mName As String
Private mAge As Byte
Private mHairColor As HairColor
Public Enum HairColor
    Blond
    Brunett
End Enum
Public Property Get Name() As String
    Name = mName
End Property
Public Property Let Name(vData As String)
    mName = vData
End Property
Public Property Get Age() As Byte
    Age = mAge
End Property
Public Property Let Age(vData As Byte)
    mAge = vData
End Property
Public Property Get HairColor() As HairColor
    HairColor = mHairColor
End Property
Public Property Let HairColor(vData As HairColor)
    mHairColor = vData
End Property
Public Function Clone() As Person
    Set Clone = New Person
    Clone.Name = mName
    Clone.Age = mAge
    Clone.HairColor = mHairColor
End Function
------------------------------------
Du använder den:
    Set objTest(1) = objTest(0).CloneSv: Kopiera innehållet i ett objekt
    
    
Om du använder tidigare exempel och lägger till följande kod i Person Classen:
Private Sub Class_ReadProperties(PropBag As PropertyBag)
    mName = PropBag.ReadProperty("Name", "")
    mAge = PropBag.ReadProperty("Age", 0)
    mHairColor = PropBag.ReadProperty("HairColor", 0)
End Sub
Private Sub Class_WriteProperties(PropBag As PropertyBag)
    PropBag.WriteProperty "Name", mName
    PropBag.WriteProperty "Age", mAge
    PropBag.WriteProperty "HairColor", mHairColor
End Sub
Module: mdlMain
----------------------------
Option Explicit
Public Sub Main()
Dim objTest(0 To 2) As Person
    Set objTest(0) = New Person
    With objTest(0)
        .Name = "Ola"
        .Age = 26
        .HairColor = Blond
    End With
    Set objTest(1) = CloneObject(objTest(0))
    
End Sub
Public Function CloneObject(Object As Object) As Object
Dim P As PropertyBag
    Set P = New PropertyBag
    P.WriteProperty "Object", Object
    Set CloneObject = P.ReadProperty("Object")
    Set P = Nothing
End Function
-------------------------------
CloneObject är en generell funktion som kan användas på "Persistable" objekt.Sv: Kopiera innehållet i ett objekt