Visual Basic > Visual Basic Forums > Visual Basic Language > Read/Write file via Share Memory
Ask a questionAsk a question
 

AnswerRead/Write file via Share Memory

  • Monday, November 02, 2009 7:46 AMcharlesmf Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Dear Sirs
        I have a class as follows code, When a LotNum data changes, I want to save the WIPData to file immediately. The file will be load when application starting. Can I use share memory mapping to a file, after that I can access the share menory to read/write the file directly?

    Best Regards,
    <Serializable()> Public Class WIPData
        Implements ISerializable

        Public PartNum As String
        Public LotNum As New List(Of String)

        Public Sub New()

            'aMaterial_Lot_Number = New ArrayList

        End Sub

        Private Sub New(ByVal Info As SerializationInfo, ByVal Context As StreamingContext)

            'aMaterial_Lot_Number = New ArrayList
            With Info
                Me.LotNum = .GetValue("LotNum", Me.LotNum.GetType)
                Me.PartNum = .GetString("PartNum")
            End With

        End Sub

        Public Sub GetObjectData(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext) Implements System.Runtime.Serialization.ISerializable.GetObjectData

            info.AddValue("PartNum", Me.PartNum)
            info.AddValue("LotNum", Me.LotNum, Me.LotNum.GetType())

        End Sub

    End Class

Answers

  • Wednesday, November 04, 2009 7:28 AMCor LigthertMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    You can save that direct, by simply serialize the array direct.

    Look at this sample Tom made once bassicly.

    http://www.vb-tips.com/SerializeArrayList.aspx

    However, for your problem is an IList implementing class like the Generic Dictionary much better.

    Be aware that if you write this in this way to file, you have to read and write it constantly.
    For that you can use the streamreader and streamwriter in its standard way.


    Success
    Cor

All Replies