vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
<Serializable()> ??? 
Autor: rub
Datum: 09.03.06 16:49

Hallo,

Ich benutze ein Formular als Vorlage. Dieses beinhaltet eine Property.
Imports System.ComponentModel
Imports System.Drawing.Design
 
Public Class Form1
 
    Private iItems As New cup_uc.cls_CUPItemCollection
 
    <Editor(GetType(cup_uc.cls_CUPItemCollectionEditor), GetType( _
      UITypeEditor)), _
    DefaultValue(GetType(cup_uc.cls_CUPItemCollection), Nothing), _
    Category("CUP"), Description(""), Browsable(True), Bindable(False)> _
    Public Property cupItems() As cup_uc.cls_CUPItemCollection
        Get
            Return iItems
        End Get
        Set(ByVal Value As cup_uc.cls_CUPItemCollection)
            iItems = Value
        End Set
    End Property
 
End Class
Die Property enthält eine Collection von, ich nenne sie mal 'Objekte'/n. die Klasse der Objekte, sowie die Collection sind beides Klassen, die von mir angelegt wurden.
Die Collection
<Serializable()> _
Public Class cls_CUPItemCollection
 
    Public CUPItemsCollection As Collection
 
    Public Sub New()
    End Sub
 
    Public Sub New(ByVal CUP_ItemsCollection As Collection)
        CUPItemsCollection = CUP_ItemsCollection
    End Sub
 
    Public Overrides Function ToString() As String
        Dim currentObject As cup_uc.cls_CUPItem  'Object
        Dim ReturnString As String = ""
        Dim Counter As Integer = 0
        Try
            For Each currentObject In CUPItemsCollection
                Counter = Counter + 1
            Next
 
            If Counter = 1 Then
                ReturnString = Counter.ToString & " CUP Item "
            Else
                ReturnString = Counter.ToString & " CUP Items "
            End If
        Catch ex As Exception
            ' Debug.WriteLine(ex.Message)
        End Try
 
        Return ReturnString
    End Function
 
End Class
und die Objekte (hier nur mit einer Eigenschaft. Eigentlich sind da noch ein paar Variablen und Eigenschaften mehr drinn.)
Imports System.ComponentModel
Imports System.Drawing.Design
 
<Serializable()> _
Public Class cls_CUPItem
 
    Private CUPItem_ID As Integer
 
    Public Sub New()
    End Sub
 
    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub
 
    <Category("CUP"), Description(""), Browsable(True), Bindable(False)> _
    Public Property CUPItemID() As Integer
        Get
            Return CUPItem_ID
        End Get
        Set(ByVal value As Integer)
            CUPItem_ID = value
        End Set
    End Property
 
End Class
Dann gibt es da noch ein Formular und ein Steuerelement, mit denen ich die Eingabe über das PropertyGrid im Designer ermögliche.

Mein Problem : Wenn ich die EXE der Anwendung mit allem Zubehör auf ein Netzlaufwerk kopiere bekomme ich eine Fehlermeldung beim Starten. 'Programm hat Fehler verursacht und muss geschlossen werden.'

Lokal läuft es und wenn ich die Property aus dem Formular nehme dann läuft es auch über das Netzlaufwerk. Das Problem liegt eindeutig an dem <Serializable()> - Attribut. Das Benötige ich aber in der Collection und in den 'Objekten', damit die Values der Property im .resx-File des Formulares speichern kann.

Wie kann ich das Problem lösen, oder wie muss ich die Klassen umschreiben, dass es über das Netzlaufwerk läuft?

PS: Ich komme leider nicht drumherum. Das Programm muss über das Netzlaufwerk laufen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
<Serializable()> ???1.051rub09.03.06 16:49
Re: <Serializable()> ???612spike2409.03.06 16:54
Re: <Serializable()> ???550rub09.03.06 17:05
Re: <Serializable()> ???618spike2409.03.06 19:30
Re: <Serializable()> ???596rub10.03.06 09:06
Re: <Serializable()> ???581spike2410.03.06 09:07

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-2025 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