Re: Serialisieren mit VB?

From: Peter Götz (gssg_nospam_at_t-online.de)
Date: 01/24/05


Date: Mon, 24 Jan 2005 13:29:38 +0100

Hallo Torsten,

> ich habe ein größeres Objekt, das ich speichern will. Nun gibt es keine
> Serialisierung wie in C oder Net.
> Bisher habe ich für jedes Objekt eine extra Sub geschrieben, die sozusagen
> jede Eigenschaft extra schreibt. Das geht zwar alle, ist aber sehr
> aufwenduig und funktioniert mit Objectverweisen nicht richtig.
>
> Hat jemand eine Idee (oder Link) wie man das besser machen kann?

Sofern das Objekt "persistable" ist, kann man es mit einem PropertyBag
speichern und von dort auch wieder einlesen.
Hier ein kleines Beispiel mit einem ADODB.Recordset

    Dim i As Long
    Dim RSa As ADODB.Recordset
    Dim RSb As ADODB.Recordset
    Dim PB As PropertyBag

    Set RSa = New ADODB.Recordset
    With RSa
        .CursorLocation = adUseClient
        .CursorType = adOpenDynamic
        .LockType = adLockOptimistic

        .Fields.Append "ID", adInteger
        .Fields.Append "Text", adChar, 25
        .Open

        For i = 1 To 7
            .AddNew
            .Fields(0).Value = i
            .Fields(1).Value = WeekdayName(i)
            .Update
        Next i
    End With

    Set PB = New PropertyBag
    PB.WriteProperty "RS", RSa

    Set RSb = PB.ReadProperty("RS")

    MsgBox RSb.RecordCount

    RSa.Close
    RSb.Close

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tips u. Beispielprogrammen)



Relevant Pages