vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Serialisierung eines ListViewItemSorter? 
Autor: Schü
Datum: 06.11.09 07:39

Moin, Moin!

Ich bekomme folgende Fehlermeldung beim Serialisieren eines ListViews:
'Eine Ausnahme (erste Chance) des Typs "System.Runtime.Serialization.SerializationException" ist in mscorlib.dll aufgetreten.'

Hintergrund: Ich versuche ein ListView mit allen Einstellungen zu serialisieren und später wieder einzulesen. Mein Listview ist vom originalen abgeleitet, unterstützt einige zusätzliche Eigenschaften und hat ein gewisses Verhalten beim Sortieren. Das soll natürlich wieder hergestellt werden.

Hier ein Codeauszug:
Public Function SaveToFile(ByVal sFileName As String) As Boolean
        Dim fs As IO.FileStream = Nothing
        Dim Result As Boolean
 
        Try
            fs = New IO.FileStream(sFileName, FileMode.OpenOrCreate)
            'HeaderCollection speichern...
            mColumnHeaderCol.SaveTo(fs)
 
            'ListViewItemCollection speichern...
            Dim arr(Me.Items.Count - 1) As eListViewItem
            Me.Items.CopyTo(arr, 0)
 
            Dim Formatter As New _
              Runtime.Serialization.Formatters.Binary.BinaryFormatter
            Try
                With Formatter
                    .Serialize(fs, arr)
                    .Serialize(fs, mEditControlType)
                    .Serialize(fs, mStopInputMoveAtEnd)
                    .Serialize(fs, mTrimInput)
                    .Serialize(fs, mChangeItemCol)
                    .Serialize(fs, Me.Sorting)
                    .Serialize(fs, ColorSorter)
 
                    If Me.ListViewItemSorter Is Nothing Then
                        Dim T As Boolean = False
                        .Serialize(fs, T)
                    Else
                        Dim T As Boolean = True
                        .Serialize(fs, T)
                        'HIER TRITT DER FEHLER AUF!! ################
                        .Serialize(fs, Me.ListViewItemSorter)
                    End If
                End With
            Catch ex As Exception
                Throw ex
            End Try
            Result = True
        Catch ex As Exception
            Result = False
        Finally
            If Not IsNothing(fs) Then fs.Close()
        End Try
        Return Result
    End Function
 
    <Serializable()> _
    Private Class LvSorter(Of T As IComparable)
        Implements IComparer
        Private column As Integer
        Private tc As System.ComponentModel.TypeConverter
        Private mSortOrder As SortOrder
 
        Public Sub New(ByVal column As Integer)
            Me.column = column
            tc = System.ComponentModel.TypeDescriptor.GetConverter(GetType(T))
        End Sub
        Public Function Compare(ByVal x As Object, ByVal y As Object) As _
          Integer Implements    System.Collections.IComparer.Compare
            Try
                Dim lvi1 As ListViewItem = CType(x, ListViewItem)
                Dim lvi2 As ListViewItem = CType(y, ListViewItem)
                Dim arg1 As T = CType(tc.ConvertFromString(lvi1.SubItems( _
                  column).Text), T)
                Dim arg2 As T = CType(tc.ConvertFromString(lvi2.SubItems( _
                column).Text), T)
                If lvi1.ListView.Sorting = SortOrder.Ascending Then
                    Return arg1.CompareTo(arg2)
                Else
                    Return -arg1.CompareTo(arg2)
                End If
            Catch ex As Exception
                Return 0
            End Try
        End Function
    End Class
Ich komme da irgendwie nicht weiter.
Wäre dankbar für einen Tipp.

Schü
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Serialisierung eines ListViewItemSorter?2.143Schü06.11.09 07:39
Re: Serialisierung eines ListViewItemSorter?901ModeratorDaveS06.11.09 09:36
Re: Serialisierung eines ListViewItemSorter?955Schü06.11.09 10:20
Re: Serialisierung eines ListViewItemSorter?843ModeratorDaveS06.11.09 11:04
Re: Serialisierung eines ListViewItemSorter?862Schü06.11.09 14:40
Re: Serialisierung eines ListViewItemSorter?845ModeratorDaveS06.11.09 15:32

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel