vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 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 - Fortgeschrittene
Serialisierungsproblem 
Autor: chris7910
Datum: 14.03.07 23:10

Hallo, ich habe hier ein kleines Serialisierungsproblem.

Ich habe eine Klasse gebaut, welche von HashTable abgeleitet ist, sie sieht folgendermassen aus:

--------------------------------------------------
<Serializable()> Public Class mainconfig
Inherits Hashtable

Public currentconfig As String
Public splitter1pos As Integer
Public splitter2pos As Integer

end class

--------------------------------------------------
Wie ihr seht, nichts besonderes, in die hashtable kommen ebenfalls objekte einer eigens definierten Klasse namens singleconfig:
die klasse mainconfig hat halt zusätzlich noch 3 öffentliche variablen (die mir aber wichtig sind!)


---------------------------------------------------
<Serializable()> Public Class singleconfig

Public rptPath As String
Public databasePath As String

Public isAccessDatabase As Boolean
Public databaseLogin As String
Public databasePass As String
Public dbServer As String
Public connectionString As String

Public DbIdField As String
Public DbTimeField As String

End Class

---------------------------------------------------

wenn ich nun eine Instanz von mainconfig erzeuge, ein paar objekte vom typ singleconfig heineinwerfe und den 3 variablen Werte zuweise
möchte ich diese Instanz nun serialisieren. Ich mache das folgendermassen (serialisieren funzt auch!)

' Serialisiert ein Objekt in eine Binärdatei
--------------------------------------------------------------------------
Dim FS As New System.IO.FileStream(filename, IO.FileMode.Create)
Dim BinFormatter As New BinaryFormatter
BinFormatter.Serialize(FS, myobject)
FS.Close()
End Sub
--------------------------------------------------------------------------
FUNKTIONIERT AUCH ABER: Wenn ich es deserialisieren will und wieder in den Typ mainconfig casten will wirfts mir eine Exception:



' Deserialisiert ein Objekt aus einer Binärdatei
-----------------------------------------------------------------------------------------------
Dim FS As System.IO.FileStream = New System.IO.FileStream(filename, IO.FileMode.Open)
Dim obj As Object
Dim BinFormatter As New BinaryFormatter
Do
obj = BinFormatter.Deserialize(FS) 'An dieser Stelle wirts mir die Exception!
Loop While FS.Position < FS.Length - 1
FS.Close()
Return obj
--------------------------------------------------------------------------------------------------

Die Fehlermeldung der Exception sieht folgendermassen aus:

"Der für die Deserialisierung eines Objekts mit dem Typ objecttest.mainconfig erforderliche Konstruktor wurde nicht gefunden."




So nun meine Frage, wie müsst ich meine Klasse(n) umbauen, damit ich auch deserialisieren kann?
Noch zu Info, wenn ich nur eine Instanz einer Hashtable erstelle und in dieser instanzen vom typ singleconfig
hineinwerfe, dann funktioniert auch deserialisieren, es muss also an der Klasse mainconfig liegen, hatte auch schon einen
Konstruktor definiert, der mir den 3 variablen werte zuweist, hat aber auch nix geholfen.

Bin für jede Hilfe dankbar.....


Chris
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Serialisierungsproblem871chris791014.03.07 23:10
Re: Serialisierungsproblem528Moderatorralf_oop15.03.07 17:27

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