Autor Beitrag
CASS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 160

WIN XP
D7 Enterprise
BeitragVerfasst: Mo 02.04.07 14:55 
Hallo Leute,

bin gerade verzweifelt am suchen. Ich erstelle eine art Creator Programm mit dem ich dann später Oberflächen designen kann. Dazu erzeuge ich zur Laufzeit Objecte (eigene Komponente von Button abgeleitet) die ich in einer Liste verwalte. Diese kann ich dann frei auf dem Formular herumschieben und verändern.

Jetzt zu meinem Problem. Natürlich möchte ich das Formular am Schluss dann speichern bzw. eigentlich nur die Liste die die Buttons enthält. Das klapt genau soweit, bis der erste Button zum serialisieren dran kommt (es gibt vor noch ein paar Felder ...). Dann meckert der Compiler das "Button" nicht serialisierbar ist.

Sowohl die Liste als auch meine abgeleitete Klasse sind mit [Serializable()] gekennzeichnet.

Was kann ich noch machen um die Liste zu speichern???

DANKE FÜR JEDE HILFE!
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 02.04.07 15:00 
Die Klasse Button ist höchstwahrscheinlich nicht serialisierbar und damit ist das Ganze nicht serialisierbar. Um daran vorbeizukommen, leite Deine Klasse nicht von Button ab, sondern implementiere alle Eigenschaften, die Du abspeichern willst, in diese Klasse und füge eine weitere Variable vom Typ Button ein, wo Du dann den Button selbst instantiierst. Diese musst Du dann natürlich als [NonSerializable] kennzeichnen. Dann sollte das funktionieren.
CASS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 160

WIN XP
D7 Enterprise
BeitragVerfasst: Mo 02.04.07 16:19 
Mist, kann ich die Komponente Button nicht irgendwie serialisierbar machen? Ist nämlich genau das was ich bräuchte. Ich muss sonst umständlich über den Index auf die extra Felder zugreifen die ich brauche ...
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 02.04.07 16:25 
Was willst Du denn genau speichern? Zeig mal ein bisschen Code, damit man den einfachsten Weg finden kann.

Ich weiß nicht, ob man eine Klasse nachträglich serialisierbar machen kann, aber hilft es Dir etwas, wenn Du es andersrum machst? Also von Button ableiten und eine Eigenschaft SavedSettings implementieren, die Du dann serialisierst?
CASS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 160

WIN XP
D7 Enterprise
BeitragVerfasst: Mo 02.04.07 16:34 
Danke für die Hilfe,

denkst du das die Image Komponente von VS 2005 Serialisierbar ist?

P.S. die zweite Variante würde auch funktionieren, wenn du mir erklärst wie man das macht.